import './index.css';
import { createElementBlock as j, openBlock as K, createElementVNode as Y, normalizeClass as ge, resolveComponent as Nt, createCommentVNode as ze, createVNode as bn, normalizeStyle as st, Fragment as Ge, renderList as An, toDisplayString as un, renderSlot as ye, createBlock as ke, normalizeProps as Cn, mergeProps as Kn, guardReactiveProps as Hr, withCtx as rn, createSlots as Ff } from "vue";
const Jt = (d, y) => {
  const i = d.__vccOpts || d;
  for (const [M, w] of y)
    i[M] = w;
  return i;
}, L0 = {
  name: "Types",
  data() {
    return {};
  }
}, M0 = { style: { display: "none" } };
function B0(d, y, i, M, w, _) {
  return K(), j("div", M0);
}
const O0 = /* @__PURE__ */ Jt(L0, [["render", B0]]), E0 = {
  props: {
    isOpen: {
      type: Boolean,
      default: !1
    },
    color: {
      type: String,
      default: "#000000"
    }
  },
  mounted() {
    this.$refs.arrowRef && this.$refs.arrowRef.style.setProperty("--bg-color", this.color);
  }
};
function R0(d, y, i, M, w, _) {
  return K(), j("div", null, [
    Y("div", {
      ref: "arrowRef",
      class: ge([i.isOpen ? "arrow_open" : "", "main-arrow"])
    }, null, 2)
  ]);
}
const W0 = /* @__PURE__ */ Jt(E0, [["render", R0]]), P0 = {
  name: "GanttTable",
  components: {
    Arrow: W0
  },
  props: {
    head: {
      type: Object,
      default: () => ({})
    },
    list: {
      type: Object,
      default: () => ({})
    },
    headWidth: {
      type: String,
      default: ""
    },
    headBodyPaddingY: {
      type: Number,
      default: ""
    },
    headBodyPaddingX: {
      type: Number,
      default: ""
    },
    scrollBarHeight: {
      type: Number,
      default: ""
    },
    open: {
      type: Boolean,
      default: !1
    },
    openStatus: {
      type: Boolean,
      default: !1
    }
  },
  mounted() {
  },
  methods: {
    handleOpenStatus() {
      this.$emit("onChange");
    }
  }
}, Y0 = { class: "ganttOverview-box" }, N0 = { class: "ganttOverview-arrrow" }, $0 = { class: "ganttOverview-head" }, H0 = { class: "ganttOverview-body" }, F0 = { style: { flex: "1", overflow: "hidden" } };
function U0(d, y, i, M, w, _) {
  const D = Nt("Arrow");
  return K(), j("div", Y0, [
    i.open ? (K(), j("div", {
      key: 0,
      class: "ganttOverview-arrrow-box",
      onClick: y[0] || (y[0] = (...L) => _.handleOpenStatus && _.handleOpenStatus(...L))
    }, [
      Y("div", N0, [
        bn(D, {
          isOpen: !i.openStatus,
          color: "#696B6C"
        }, null, 8, ["isOpen"])
      ])
    ])) : ze("", !0),
    Y("div", {
      style: st({ width: i.headWidth }),
      class: ge(i.openStatus ? "ganttOverview" : "ganttOverview-close")
    }, [
      Y("div", {
        style: st({ width: i.headWidth }),
        class: "ganttOverview-head-box"
      }, [
        Y("div", $0, [
          (K(!0), j(Ge, null, An(i.head, (L, W) => (K(), j("div", {
            key: W,
            class: "ganttOverview-head-item",
            style: st({
              textAlign: L.align ? L.align : "center",
              width: L.width ? L.width : "auto",
              maxWidth: L.width ? L.width : "auto",
              minWidth: L.width ? L.width : "auto"
            })
          }, un(L.title), 5))), 128))
        ]),
        Y("div", H0, [
          Y("div", F0, [
            Y("div", {
              class: "ganttOverview-body-height",
              style: st({
                paddingLeft: i.headBodyPaddingX + "px",
                paddingRight: i.headBodyPaddingX + "px",
                paddingTop: i.headBodyPaddingY + "px",
                paddingBottom: i.headBodyPaddingY + "px"
              })
            }, [
              ye(d.$slots, "overview")
            ], 4)
          ]),
          Y("div", {
            style: st({ height: i.scrollBarHeight + "px" })
          }, null, 4)
        ])
      ], 4)
    ], 6)
  ]);
}
const G0 = /* @__PURE__ */ Jt(P0, [["render", U0]]);
var Sn = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
function Uf(d) {
  return d && d.__esModule && Object.prototype.hasOwnProperty.call(d, "default") ? d.default : d;
}
var Gf = { exports: {} };
(function(d, y) {
  (function(i, M) {
    d.exports = M();
  })(Sn, function() {
    var i = 1e3, M = 6e4, w = 36e5, _ = "millisecond", D = "second", L = "minute", W = "hour", B = "day", U = "week", G = "month", Lt = "quarter", _t = "year", ct = "date", $t = "Invalid Date", At = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, Oe = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, Zn = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(P) {
      var A = ["th", "st", "nd", "rd"], S = P % 100;
      return "[" + P + (A[(S - 20) % 10] || A[S] || A[0]) + "]";
    } }, Ht = function(P, A, S) {
      var C = String(P);
      return !C || C.length >= A ? P : "" + Array(A + 1 - C.length).join(S) + P;
    }, qe = { s: Ht, z: function(P) {
      var A = -P.utcOffset(), S = Math.abs(A), C = Math.floor(S / 60), x = S % 60;
      return (A <= 0 ? "+" : "-") + Ht(C, 2, "0") + ":" + Ht(x, 2, "0");
    }, m: function P(A, S) {
      if (A.date() < S.date()) return -P(S, A);
      var C = 12 * (S.year() - A.year()) + (S.month() - A.month()), x = A.clone().add(C, G), H = S - x < 0, N = A.clone().add(C + (H ? -1 : 1), G);
      return +(-(C + (S - x) / (H ? x - N : N - x)) || 0);
    }, a: function(P) {
      return P < 0 ? Math.ceil(P) || 0 : Math.floor(P);
    }, p: function(P) {
      return { M: G, y: _t, w: U, d: B, D: ct, h: W, m: L, s: D, ms: _, Q: Lt }[P] || String(P || "").toLowerCase().replace(/s$/, "");
    }, u: function(P) {
      return P === void 0;
    } }, Mt = "en", Ft = {};
    Ft[Mt] = Zn;
    var Qt = "$isDayjsObject", we = function(P) {
      return P instanceof sn || !(!P || !P[Qt]);
    }, Ee = function P(A, S, C) {
      var x;
      if (!A) return Mt;
      if (typeof A == "string") {
        var H = A.toLowerCase();
        Ft[H] && (x = H), S && (Ft[H] = S, x = H);
        var N = A.split("-");
        if (!x && N.length > 1) return P(N[0]);
      } else {
        var Z = A.name;
        Ft[Z] = A, x = Z;
      }
      return !C && x && (Mt = x), x || !C && Mt;
    }, pt = function(P, A) {
      if (we(P)) return P.clone();
      var S = typeof A == "object" ? A : {};
      return S.date = P, S.args = arguments, new sn(S);
    }, tt = qe;
    tt.l = Ee, tt.i = we, tt.w = function(P, A) {
      return pt(P, { locale: A.$L, utc: A.$u, x: A.$x, $offset: A.$offset });
    };
    var sn = function() {
      function P(S) {
        this.$L = Ee(S.locale, null, !0), this.parse(S), this.$x = this.$x || S.x || {}, this[Qt] = !0;
      }
      var A = P.prototype;
      return A.parse = function(S) {
        this.$d = function(C) {
          var x = C.date, H = C.utc;
          if (x === null) return /* @__PURE__ */ new Date(NaN);
          if (tt.u(x)) return /* @__PURE__ */ new Date();
          if (x instanceof Date) return new Date(x);
          if (typeof x == "string" && !/Z$/i.test(x)) {
            var N = x.match(At);
            if (N) {
              var Z = N[2] - 1 || 0, ot = (N[7] || "0").substring(0, 3);
              return H ? new Date(Date.UTC(N[1], Z, N[3] || 1, N[4] || 0, N[5] || 0, N[6] || 0, ot)) : new Date(N[1], Z, N[3] || 1, N[4] || 0, N[5] || 0, N[6] || 0, ot);
            }
          }
          return new Date(x);
        }(S), this.init();
      }, A.init = function() {
        var S = this.$d;
        this.$y = S.getFullYear(), this.$M = S.getMonth(), this.$D = S.getDate(), this.$W = S.getDay(), this.$H = S.getHours(), this.$m = S.getMinutes(), this.$s = S.getSeconds(), this.$ms = S.getMilliseconds();
      }, A.$utils = function() {
        return tt;
      }, A.isValid = function() {
        return this.$d.toString() !== $t;
      }, A.isSame = function(S, C) {
        var x = pt(S);
        return this.startOf(C) <= x && x <= this.endOf(C);
      }, A.isAfter = function(S, C) {
        return pt(S) < this.startOf(C);
      }, A.isBefore = function(S, C) {
        return this.endOf(C) < pt(S);
      }, A.$g = function(S, C, x) {
        return tt.u(S) ? this[C] : this.set(x, S);
      }, A.unix = function() {
        return Math.floor(this.valueOf() / 1e3);
      }, A.valueOf = function() {
        return this.$d.getTime();
      }, A.startOf = function(S, C) {
        var x = this, H = !!tt.u(C) || C, N = tt.p(S), Z = function(Ut, Ct) {
          var Gt = tt.w(x.$u ? Date.UTC(x.$y, Ct, Ut) : new Date(x.$y, Ct, Ut), x);
          return H ? Gt : Gt.endOf(B);
        }, ot = function(Ut, Ct) {
          return tt.w(x.toDate()[Ut].apply(x.toDate("s"), (H ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(Ct)), x);
        }, vt = this.$W, xt = this.$M, mt = this.$D, se = "set" + (this.$u ? "UTC" : "");
        switch (N) {
          case _t:
            return H ? Z(1, 0) : Z(31, 11);
          case G:
            return H ? Z(1, xt) : Z(0, xt + 1);
          case U:
            var xe = this.$locale().weekStart || 0, fe = (vt < xe ? vt + 7 : vt) - xe;
            return Z(H ? mt - fe : mt + (6 - fe), xt);
          case B:
          case ct:
            return ot(se + "Hours", 0);
          case W:
            return ot(se + "Minutes", 1);
          case L:
            return ot(se + "Seconds", 2);
          case D:
            return ot(se + "Milliseconds", 3);
          default:
            return this.clone();
        }
      }, A.endOf = function(S) {
        return this.startOf(S, !1);
      }, A.$set = function(S, C) {
        var x, H = tt.p(S), N = "set" + (this.$u ? "UTC" : ""), Z = (x = {}, x[B] = N + "Date", x[ct] = N + "Date", x[G] = N + "Month", x[_t] = N + "FullYear", x[W] = N + "Hours", x[L] = N + "Minutes", x[D] = N + "Seconds", x[_] = N + "Milliseconds", x)[H], ot = H === B ? this.$D + (C - this.$W) : C;
        if (H === G || H === _t) {
          var vt = this.clone().set(ct, 1);
          vt.$d[Z](ot), vt.init(), this.$d = vt.set(ct, Math.min(this.$D, vt.daysInMonth())).$d;
        } else Z && this.$d[Z](ot);
        return this.init(), this;
      }, A.set = function(S, C) {
        return this.clone().$set(S, C);
      }, A.get = function(S) {
        return this[tt.p(S)]();
      }, A.add = function(S, C) {
        var x, H = this;
        S = Number(S);
        var N = tt.p(C), Z = function(xt) {
          var mt = pt(H);
          return tt.w(mt.date(mt.date() + Math.round(xt * S)), H);
        };
        if (N === G) return this.set(G, this.$M + S);
        if (N === _t) return this.set(_t, this.$y + S);
        if (N === B) return Z(1);
        if (N === U) return Z(7);
        var ot = (x = {}, x[L] = M, x[W] = w, x[D] = i, x)[N] || 1, vt = this.$d.getTime() + S * ot;
        return tt.w(vt, this);
      }, A.subtract = function(S, C) {
        return this.add(-1 * S, C);
      }, A.format = function(S) {
        var C = this, x = this.$locale();
        if (!this.isValid()) return x.invalidDate || $t;
        var H = S || "YYYY-MM-DDTHH:mm:ssZ", N = tt.z(this), Z = this.$H, ot = this.$m, vt = this.$M, xt = x.weekdays, mt = x.months, se = x.meridiem, xe = function(Ct, Gt, _e, Ke) {
          return Ct && (Ct[Gt] || Ct(C, H)) || _e[Gt].slice(0, Ke);
        }, fe = function(Ct) {
          return tt.s(Z % 12 || 12, Ct, "0");
        }, Ut = se || function(Ct, Gt, _e) {
          var Ke = Ct < 12 ? "AM" : "PM";
          return _e ? Ke.toLowerCase() : Ke;
        };
        return H.replace(Oe, function(Ct, Gt) {
          return Gt || function(_e) {
            switch (_e) {
              case "YY":
                return String(C.$y).slice(-2);
              case "YYYY":
                return tt.s(C.$y, 4, "0");
              case "M":
                return vt + 1;
              case "MM":
                return tt.s(vt + 1, 2, "0");
              case "MMM":
                return xe(x.monthsShort, vt, mt, 3);
              case "MMMM":
                return xe(mt, vt);
              case "D":
                return C.$D;
              case "DD":
                return tt.s(C.$D, 2, "0");
              case "d":
                return String(C.$W);
              case "dd":
                return xe(x.weekdaysMin, C.$W, xt, 2);
              case "ddd":
                return xe(x.weekdaysShort, C.$W, xt, 3);
              case "dddd":
                return xt[C.$W];
              case "H":
                return String(Z);
              case "HH":
                return tt.s(Z, 2, "0");
              case "h":
                return fe(1);
              case "hh":
                return fe(2);
              case "a":
                return Ut(Z, ot, !0);
              case "A":
                return Ut(Z, ot, !1);
              case "m":
                return String(ot);
              case "mm":
                return tt.s(ot, 2, "0");
              case "s":
                return String(C.$s);
              case "ss":
                return tt.s(C.$s, 2, "0");
              case "SSS":
                return tt.s(C.$ms, 3, "0");
              case "Z":
                return N;
            }
            return null;
          }(Ct) || N.replace(":", "");
        });
      }, A.utcOffset = function() {
        return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
      }, A.diff = function(S, C, x) {
        var H, N = this, Z = tt.p(C), ot = pt(S), vt = (ot.utcOffset() - this.utcOffset()) * M, xt = this - ot, mt = function() {
          return tt.m(N, ot);
        };
        switch (Z) {
          case _t:
            H = mt() / 12;
            break;
          case G:
            H = mt();
            break;
          case Lt:
            H = mt() / 3;
            break;
          case U:
            H = (xt - vt) / 6048e5;
            break;
          case B:
            H = (xt - vt) / 864e5;
            break;
          case W:
            H = xt / w;
            break;
          case L:
            H = xt / M;
            break;
          case D:
            H = xt / i;
            break;
          default:
            H = xt;
        }
        return x ? H : tt.a(H);
      }, A.daysInMonth = function() {
        return this.endOf(G).$D;
      }, A.$locale = function() {
        return Ft[this.$L];
      }, A.locale = function(S, C) {
        if (!S) return this.$L;
        var x = this.clone(), H = Ee(S, C, !0);
        return H && (x.$L = H), x;
      }, A.clone = function() {
        return tt.w(this.$d, this);
      }, A.toDate = function() {
        return new Date(this.valueOf());
      }, A.toJSON = function() {
        return this.isValid() ? this.toISOString() : null;
      }, A.toISOString = function() {
        return this.$d.toISOString();
      }, A.toString = function() {
        return this.$d.toUTCString();
      }, P;
    }(), Xn = sn.prototype;
    return pt.prototype = Xn, [["$ms", _], ["$s", D], ["$m", L], ["$H", W], ["$W", B], ["$M", G], ["$y", _t], ["$D", ct]].forEach(function(P) {
      Xn[P[1]] = function(A) {
        return this.$g(A, P[0], P[1]);
      };
    }), pt.extend = function(P, A) {
      return P.$i || (P(A, sn, pt), P.$i = !0), pt;
    }, pt.locale = Ee, pt.isDayjs = we, pt.unix = function(P) {
      return pt(1e3 * P);
    }, pt.en = Ft[Mt], pt.Ls = Ft, pt.p = {}, pt;
  });
})(Gf);
var k0 = Gf.exports;
const it = /* @__PURE__ */ Uf(k0);
var Fr = { exports: {} };
/**
 * @license
 * Lodash <https://lodash.com/>
 * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
 * Released under MIT license <https://lodash.com/license>
 * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
 */
Fr.exports;
(function(d, y) {
  (function() {
    var i, M = "4.17.21", w = 200, _ = "Unsupported core-js use. Try https://npms.io/search?q=ponyfill.", D = "Expected a function", L = "Invalid `variable` option passed into `_.template`", W = "__lodash_hash_undefined__", B = 500, U = "__lodash_placeholder__", G = 1, Lt = 2, _t = 4, ct = 1, $t = 2, At = 1, Oe = 2, Zn = 4, Ht = 8, qe = 16, Mt = 32, Ft = 64, Qt = 128, we = 256, Ee = 512, pt = 30, tt = "...", sn = 800, Xn = 16, P = 1, A = 2, S = 3, C = 1 / 0, x = 9007199254740991, H = 17976931348623157e292, N = NaN, Z = 4294967295, ot = Z - 1, vt = Z >>> 1, xt = [
      ["ary", Qt],
      ["bind", At],
      ["bindKey", Oe],
      ["curry", Ht],
      ["curryRight", qe],
      ["flip", Ee],
      ["partial", Mt],
      ["partialRight", Ft],
      ["rearg", we]
    ], mt = "[object Arguments]", se = "[object Array]", xe = "[object AsyncFunction]", fe = "[object Boolean]", Ut = "[object Date]", Ct = "[object DOMException]", Gt = "[object Error]", _e = "[object Function]", Ke = "[object GeneratorFunction]", ae = "[object Map]", In = "[object Number]", zf = "[object Null]", Te = "[object Object]", ou = "[object Promise]", qf = "[object Proxy]", Dn = "[object RegExp]", oe = "[object Set]", Ln = "[object String]", Jn = "[object Symbol]", Kf = "[object Undefined]", Mn = "[object WeakMap]", Zf = "[object WeakSet]", Bn = "[object ArrayBuffer]", fn = "[object DataView]", Ur = "[object Float32Array]", Gr = "[object Float64Array]", kr = "[object Int8Array]", zr = "[object Int16Array]", qr = "[object Int32Array]", Kr = "[object Uint8Array]", Zr = "[object Uint8ClampedArray]", Xr = "[object Uint16Array]", Jr = "[object Uint32Array]", Xf = /\b__p \+= '';/g, Jf = /\b(__p \+=) '' \+/g, Qf = /(__e\(.*?\)|\b__t\)) \+\n'';/g, lu = /&(?:amp|lt|gt|quot|#39);/g, hu = /[&<>"']/g, Vf = RegExp(lu.source), jf = RegExp(hu.source), ta = /<%-([\s\S]+?)%>/g, ea = /<%([\s\S]+?)%>/g, cu = /<%=([\s\S]+?)%>/g, na = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, ra = /^\w*$/, ia = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, Qr = /[\\^$.*+?()[\]{}|]/g, ua = RegExp(Qr.source), Vr = /^\s+/, sa = /\s/, fa = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, aa = /\{\n\/\* \[wrapped with (.+)\] \*/, oa = /,? & /, la = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g, ha = /[()=,{}\[\]\/\s]/, ca = /\\(\\)?/g, da = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g, du = /\w*$/, ga = /^[-+]0x[0-9a-f]+$/i, _a = /^0b[01]+$/i, pa = /^\[object .+?Constructor\]$/, va = /^0o[0-7]+$/i, ma = /^(?:0|[1-9]\d*)$/, ya = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g, Qn = /($^)/, wa = /['\n\r\u2028\u2029\\]/g, Vn = "\\ud800-\\udfff", xa = "\\u0300-\\u036f", Ta = "\\ufe20-\\ufe2f", Sa = "\\u20d0-\\u20ff", gu = xa + Ta + Sa, _u = "\\u2700-\\u27bf", pu = "a-z\\xdf-\\xf6\\xf8-\\xff", ba = "\\xac\\xb1\\xd7\\xf7", Aa = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf", Ca = "\\u2000-\\u206f", Ia = " \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", vu = "A-Z\\xc0-\\xd6\\xd8-\\xde", mu = "\\ufe0e\\ufe0f", yu = ba + Aa + Ca + Ia, jr = "['’]", Da = "[" + Vn + "]", wu = "[" + yu + "]", jn = "[" + gu + "]", xu = "\\d+", La = "[" + _u + "]", Tu = "[" + pu + "]", Su = "[^" + Vn + yu + xu + _u + pu + vu + "]", ti = "\\ud83c[\\udffb-\\udfff]", Ma = "(?:" + jn + "|" + ti + ")", bu = "[^" + Vn + "]", ei = "(?:\\ud83c[\\udde6-\\uddff]){2}", ni = "[\\ud800-\\udbff][\\udc00-\\udfff]", an = "[" + vu + "]", Au = "\\u200d", Cu = "(?:" + Tu + "|" + Su + ")", Ba = "(?:" + an + "|" + Su + ")", Iu = "(?:" + jr + "(?:d|ll|m|re|s|t|ve))?", Du = "(?:" + jr + "(?:D|LL|M|RE|S|T|VE))?", Lu = Ma + "?", Mu = "[" + mu + "]?", Oa = "(?:" + Au + "(?:" + [bu, ei, ni].join("|") + ")" + Mu + Lu + ")*", Ea = "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", Ra = "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", Bu = Mu + Lu + Oa, Wa = "(?:" + [La, ei, ni].join("|") + ")" + Bu, Pa = "(?:" + [bu + jn + "?", jn, ei, ni, Da].join("|") + ")", Ya = RegExp(jr, "g"), Na = RegExp(jn, "g"), ri = RegExp(ti + "(?=" + ti + ")|" + Pa + Bu, "g"), $a = RegExp([
      an + "?" + Tu + "+" + Iu + "(?=" + [wu, an, "$"].join("|") + ")",
      Ba + "+" + Du + "(?=" + [wu, an + Cu, "$"].join("|") + ")",
      an + "?" + Cu + "+" + Iu,
      an + "+" + Du,
      Ra,
      Ea,
      xu,
      Wa
    ].join("|"), "g"), Ha = RegExp("[" + Au + Vn + gu + mu + "]"), Fa = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/, Ua = [
      "Array",
      "Buffer",
      "DataView",
      "Date",
      "Error",
      "Float32Array",
      "Float64Array",
      "Function",
      "Int8Array",
      "Int16Array",
      "Int32Array",
      "Map",
      "Math",
      "Object",
      "Promise",
      "RegExp",
      "Set",
      "String",
      "Symbol",
      "TypeError",
      "Uint8Array",
      "Uint8ClampedArray",
      "Uint16Array",
      "Uint32Array",
      "WeakMap",
      "_",
      "clearTimeout",
      "isFinite",
      "parseInt",
      "setTimeout"
    ], Ga = -1, ft = {};
    ft[Ur] = ft[Gr] = ft[kr] = ft[zr] = ft[qr] = ft[Kr] = ft[Zr] = ft[Xr] = ft[Jr] = !0, ft[mt] = ft[se] = ft[Bn] = ft[fe] = ft[fn] = ft[Ut] = ft[Gt] = ft[_e] = ft[ae] = ft[In] = ft[Te] = ft[Dn] = ft[oe] = ft[Ln] = ft[Mn] = !1;
    var ut = {};
    ut[mt] = ut[se] = ut[Bn] = ut[fn] = ut[fe] = ut[Ut] = ut[Ur] = ut[Gr] = ut[kr] = ut[zr] = ut[qr] = ut[ae] = ut[In] = ut[Te] = ut[Dn] = ut[oe] = ut[Ln] = ut[Jn] = ut[Kr] = ut[Zr] = ut[Xr] = ut[Jr] = !0, ut[Gt] = ut[_e] = ut[Mn] = !1;
    var ka = {
      // Latin-1 Supplement block.
      À: "A",
      Á: "A",
      Â: "A",
      Ã: "A",
      Ä: "A",
      Å: "A",
      à: "a",
      á: "a",
      â: "a",
      ã: "a",
      ä: "a",
      å: "a",
      Ç: "C",
      ç: "c",
      Ð: "D",
      ð: "d",
      È: "E",
      É: "E",
      Ê: "E",
      Ë: "E",
      è: "e",
      é: "e",
      ê: "e",
      ë: "e",
      Ì: "I",
      Í: "I",
      Î: "I",
      Ï: "I",
      ì: "i",
      í: "i",
      î: "i",
      ï: "i",
      Ñ: "N",
      ñ: "n",
      Ò: "O",
      Ó: "O",
      Ô: "O",
      Õ: "O",
      Ö: "O",
      Ø: "O",
      ò: "o",
      ó: "o",
      ô: "o",
      õ: "o",
      ö: "o",
      ø: "o",
      Ù: "U",
      Ú: "U",
      Û: "U",
      Ü: "U",
      ù: "u",
      ú: "u",
      û: "u",
      ü: "u",
      Ý: "Y",
      ý: "y",
      ÿ: "y",
      Æ: "Ae",
      æ: "ae",
      Þ: "Th",
      þ: "th",
      ß: "ss",
      // Latin Extended-A block.
      Ā: "A",
      Ă: "A",
      Ą: "A",
      ā: "a",
      ă: "a",
      ą: "a",
      Ć: "C",
      Ĉ: "C",
      Ċ: "C",
      Č: "C",
      ć: "c",
      ĉ: "c",
      ċ: "c",
      č: "c",
      Ď: "D",
      Đ: "D",
      ď: "d",
      đ: "d",
      Ē: "E",
      Ĕ: "E",
      Ė: "E",
      Ę: "E",
      Ě: "E",
      ē: "e",
      ĕ: "e",
      ė: "e",
      ę: "e",
      ě: "e",
      Ĝ: "G",
      Ğ: "G",
      Ġ: "G",
      Ģ: "G",
      ĝ: "g",
      ğ: "g",
      ġ: "g",
      ģ: "g",
      Ĥ: "H",
      Ħ: "H",
      ĥ: "h",
      ħ: "h",
      Ĩ: "I",
      Ī: "I",
      Ĭ: "I",
      Į: "I",
      İ: "I",
      ĩ: "i",
      ī: "i",
      ĭ: "i",
      į: "i",
      ı: "i",
      Ĵ: "J",
      ĵ: "j",
      Ķ: "K",
      ķ: "k",
      ĸ: "k",
      Ĺ: "L",
      Ļ: "L",
      Ľ: "L",
      Ŀ: "L",
      Ł: "L",
      ĺ: "l",
      ļ: "l",
      ľ: "l",
      ŀ: "l",
      ł: "l",
      Ń: "N",
      Ņ: "N",
      Ň: "N",
      Ŋ: "N",
      ń: "n",
      ņ: "n",
      ň: "n",
      ŋ: "n",
      Ō: "O",
      Ŏ: "O",
      Ő: "O",
      ō: "o",
      ŏ: "o",
      ő: "o",
      Ŕ: "R",
      Ŗ: "R",
      Ř: "R",
      ŕ: "r",
      ŗ: "r",
      ř: "r",
      Ś: "S",
      Ŝ: "S",
      Ş: "S",
      Š: "S",
      ś: "s",
      ŝ: "s",
      ş: "s",
      š: "s",
      Ţ: "T",
      Ť: "T",
      Ŧ: "T",
      ţ: "t",
      ť: "t",
      ŧ: "t",
      Ũ: "U",
      Ū: "U",
      Ŭ: "U",
      Ů: "U",
      Ű: "U",
      Ų: "U",
      ũ: "u",
      ū: "u",
      ŭ: "u",
      ů: "u",
      ű: "u",
      ų: "u",
      Ŵ: "W",
      ŵ: "w",
      Ŷ: "Y",
      ŷ: "y",
      Ÿ: "Y",
      Ź: "Z",
      Ż: "Z",
      Ž: "Z",
      ź: "z",
      ż: "z",
      ž: "z",
      Ĳ: "IJ",
      ĳ: "ij",
      Œ: "Oe",
      œ: "oe",
      ŉ: "'n",
      ſ: "s"
    }, za = {
      "&": "&amp;",
      "<": "&lt;",
      ">": "&gt;",
      '"': "&quot;",
      "'": "&#39;"
    }, qa = {
      "&amp;": "&",
      "&lt;": "<",
      "&gt;": ">",
      "&quot;": '"',
      "&#39;": "'"
    }, Ka = {
      "\\": "\\",
      "'": "'",
      "\n": "n",
      "\r": "r",
      "\u2028": "u2028",
      "\u2029": "u2029"
    }, Za = parseFloat, Xa = parseInt, Ou = typeof Sn == "object" && Sn && Sn.Object === Object && Sn, Ja = typeof self == "object" && self && self.Object === Object && self, St = Ou || Ja || Function("return this")(), ii = y && !y.nodeType && y, Ze = ii && !0 && d && !d.nodeType && d, Eu = Ze && Ze.exports === ii, ui = Eu && Ou.process, Vt = function() {
      try {
        var l = Ze && Ze.require && Ze.require("util").types;
        return l || ui && ui.binding && ui.binding("util");
      } catch {
      }
    }(), Ru = Vt && Vt.isArrayBuffer, Wu = Vt && Vt.isDate, Pu = Vt && Vt.isMap, Yu = Vt && Vt.isRegExp, Nu = Vt && Vt.isSet, $u = Vt && Vt.isTypedArray;
    function kt(l, g, c) {
      switch (c.length) {
        case 0:
          return l.call(g);
        case 1:
          return l.call(g, c[0]);
        case 2:
          return l.call(g, c[0], c[1]);
        case 3:
          return l.call(g, c[0], c[1], c[2]);
      }
      return l.apply(g, c);
    }
    function Qa(l, g, c, b) {
      for (var $ = -1, V = l == null ? 0 : l.length; ++$ < V; ) {
        var yt = l[$];
        g(b, yt, c(yt), l);
      }
      return b;
    }
    function jt(l, g) {
      for (var c = -1, b = l == null ? 0 : l.length; ++c < b && g(l[c], c, l) !== !1; )
        ;
      return l;
    }
    function Va(l, g) {
      for (var c = l == null ? 0 : l.length; c-- && g(l[c], c, l) !== !1; )
        ;
      return l;
    }
    function Hu(l, g) {
      for (var c = -1, b = l == null ? 0 : l.length; ++c < b; )
        if (!g(l[c], c, l))
          return !1;
      return !0;
    }
    function Re(l, g) {
      for (var c = -1, b = l == null ? 0 : l.length, $ = 0, V = []; ++c < b; ) {
        var yt = l[c];
        g(yt, c, l) && (V[$++] = yt);
      }
      return V;
    }
    function tr(l, g) {
      var c = l == null ? 0 : l.length;
      return !!c && on(l, g, 0) > -1;
    }
    function si(l, g, c) {
      for (var b = -1, $ = l == null ? 0 : l.length; ++b < $; )
        if (c(g, l[b]))
          return !0;
      return !1;
    }
    function at(l, g) {
      for (var c = -1, b = l == null ? 0 : l.length, $ = Array(b); ++c < b; )
        $[c] = g(l[c], c, l);
      return $;
    }
    function We(l, g) {
      for (var c = -1, b = g.length, $ = l.length; ++c < b; )
        l[$ + c] = g[c];
      return l;
    }
    function fi(l, g, c, b) {
      var $ = -1, V = l == null ? 0 : l.length;
      for (b && V && (c = l[++$]); ++$ < V; )
        c = g(c, l[$], $, l);
      return c;
    }
    function ja(l, g, c, b) {
      var $ = l == null ? 0 : l.length;
      for (b && $ && (c = l[--$]); $--; )
        c = g(c, l[$], $, l);
      return c;
    }
    function ai(l, g) {
      for (var c = -1, b = l == null ? 0 : l.length; ++c < b; )
        if (g(l[c], c, l))
          return !0;
      return !1;
    }
    var to = oi("length");
    function eo(l) {
      return l.split("");
    }
    function no(l) {
      return l.match(la) || [];
    }
    function Fu(l, g, c) {
      var b;
      return c(l, function($, V, yt) {
        if (g($, V, yt))
          return b = V, !1;
      }), b;
    }
    function er(l, g, c, b) {
      for (var $ = l.length, V = c + (b ? 1 : -1); b ? V-- : ++V < $; )
        if (g(l[V], V, l))
          return V;
      return -1;
    }
    function on(l, g, c) {
      return g === g ? _o(l, g, c) : er(l, Uu, c);
    }
    function ro(l, g, c, b) {
      for (var $ = c - 1, V = l.length; ++$ < V; )
        if (b(l[$], g))
          return $;
      return -1;
    }
    function Uu(l) {
      return l !== l;
    }
    function Gu(l, g) {
      var c = l == null ? 0 : l.length;
      return c ? hi(l, g) / c : N;
    }
    function oi(l) {
      return function(g) {
        return g == null ? i : g[l];
      };
    }
    function li(l) {
      return function(g) {
        return l == null ? i : l[g];
      };
    }
    function ku(l, g, c, b, $) {
      return $(l, function(V, yt, rt) {
        c = b ? (b = !1, V) : g(c, V, yt, rt);
      }), c;
    }
    function io(l, g) {
      var c = l.length;
      for (l.sort(g); c--; )
        l[c] = l[c].value;
      return l;
    }
    function hi(l, g) {
      for (var c, b = -1, $ = l.length; ++b < $; ) {
        var V = g(l[b]);
        V !== i && (c = c === i ? V : c + V);
      }
      return c;
    }
    function ci(l, g) {
      for (var c = -1, b = Array(l); ++c < l; )
        b[c] = g(c);
      return b;
    }
    function uo(l, g) {
      return at(g, function(c) {
        return [c, l[c]];
      });
    }
    function zu(l) {
      return l && l.slice(0, Xu(l) + 1).replace(Vr, "");
    }
    function zt(l) {
      return function(g) {
        return l(g);
      };
    }
    function di(l, g) {
      return at(g, function(c) {
        return l[c];
      });
    }
    function On(l, g) {
      return l.has(g);
    }
    function qu(l, g) {
      for (var c = -1, b = l.length; ++c < b && on(g, l[c], 0) > -1; )
        ;
      return c;
    }
    function Ku(l, g) {
      for (var c = l.length; c-- && on(g, l[c], 0) > -1; )
        ;
      return c;
    }
    function so(l, g) {
      for (var c = l.length, b = 0; c--; )
        l[c] === g && ++b;
      return b;
    }
    var fo = li(ka), ao = li(za);
    function oo(l) {
      return "\\" + Ka[l];
    }
    function lo(l, g) {
      return l == null ? i : l[g];
    }
    function ln(l) {
      return Ha.test(l);
    }
    function ho(l) {
      return Fa.test(l);
    }
    function co(l) {
      for (var g, c = []; !(g = l.next()).done; )
        c.push(g.value);
      return c;
    }
    function gi(l) {
      var g = -1, c = Array(l.size);
      return l.forEach(function(b, $) {
        c[++g] = [$, b];
      }), c;
    }
    function Zu(l, g) {
      return function(c) {
        return l(g(c));
      };
    }
    function Pe(l, g) {
      for (var c = -1, b = l.length, $ = 0, V = []; ++c < b; ) {
        var yt = l[c];
        (yt === g || yt === U) && (l[c] = U, V[$++] = c);
      }
      return V;
    }
    function nr(l) {
      var g = -1, c = Array(l.size);
      return l.forEach(function(b) {
        c[++g] = b;
      }), c;
    }
    function go(l) {
      var g = -1, c = Array(l.size);
      return l.forEach(function(b) {
        c[++g] = [b, b];
      }), c;
    }
    function _o(l, g, c) {
      for (var b = c - 1, $ = l.length; ++b < $; )
        if (l[b] === g)
          return b;
      return -1;
    }
    function po(l, g, c) {
      for (var b = c + 1; b--; )
        if (l[b] === g)
          return b;
      return b;
    }
    function hn(l) {
      return ln(l) ? mo(l) : to(l);
    }
    function le(l) {
      return ln(l) ? yo(l) : eo(l);
    }
    function Xu(l) {
      for (var g = l.length; g-- && sa.test(l.charAt(g)); )
        ;
      return g;
    }
    var vo = li(qa);
    function mo(l) {
      for (var g = ri.lastIndex = 0; ri.test(l); )
        ++g;
      return g;
    }
    function yo(l) {
      return l.match(ri) || [];
    }
    function wo(l) {
      return l.match($a) || [];
    }
    var xo = function l(g) {
      g = g == null ? St : cn.defaults(St.Object(), g, cn.pick(St, Ua));
      var c = g.Array, b = g.Date, $ = g.Error, V = g.Function, yt = g.Math, rt = g.Object, _i = g.RegExp, To = g.String, te = g.TypeError, rr = c.prototype, So = V.prototype, dn = rt.prototype, ir = g["__core-js_shared__"], ur = So.toString, nt = dn.hasOwnProperty, bo = 0, Ju = function() {
        var t = /[^.]+$/.exec(ir && ir.keys && ir.keys.IE_PROTO || "");
        return t ? "Symbol(src)_1." + t : "";
      }(), sr = dn.toString, Ao = ur.call(rt), Co = St._, Io = _i(
        "^" + ur.call(nt).replace(Qr, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
      ), fr = Eu ? g.Buffer : i, Ye = g.Symbol, ar = g.Uint8Array, Qu = fr ? fr.allocUnsafe : i, or = Zu(rt.getPrototypeOf, rt), Vu = rt.create, ju = dn.propertyIsEnumerable, lr = rr.splice, ts = Ye ? Ye.isConcatSpreadable : i, En = Ye ? Ye.iterator : i, Xe = Ye ? Ye.toStringTag : i, hr = function() {
        try {
          var t = tn(rt, "defineProperty");
          return t({}, "", {}), t;
        } catch {
        }
      }(), Do = g.clearTimeout !== St.clearTimeout && g.clearTimeout, Lo = b && b.now !== St.Date.now && b.now, Mo = g.setTimeout !== St.setTimeout && g.setTimeout, cr = yt.ceil, dr = yt.floor, pi = rt.getOwnPropertySymbols, Bo = fr ? fr.isBuffer : i, es = g.isFinite, Oo = rr.join, Eo = Zu(rt.keys, rt), wt = yt.max, It = yt.min, Ro = b.now, Wo = g.parseInt, ns = yt.random, Po = rr.reverse, vi = tn(g, "DataView"), Rn = tn(g, "Map"), mi = tn(g, "Promise"), gn = tn(g, "Set"), Wn = tn(g, "WeakMap"), Pn = tn(rt, "create"), gr = Wn && new Wn(), _n = {}, Yo = en(vi), No = en(Rn), $o = en(mi), Ho = en(gn), Fo = en(Wn), _r = Ye ? Ye.prototype : i, Yn = _r ? _r.valueOf : i, rs = _r ? _r.toString : i;
      function s(t) {
        if (ht(t) && !F(t) && !(t instanceof J)) {
          if (t instanceof ee)
            return t;
          if (nt.call(t, "__wrapped__"))
            return uf(t);
        }
        return new ee(t);
      }
      var pn = /* @__PURE__ */ function() {
        function t() {
        }
        return function(e) {
          if (!lt(e))
            return {};
          if (Vu)
            return Vu(e);
          t.prototype = e;
          var n = new t();
          return t.prototype = i, n;
        };
      }();
      function pr() {
      }
      function ee(t, e) {
        this.__wrapped__ = t, this.__actions__ = [], this.__chain__ = !!e, this.__index__ = 0, this.__values__ = i;
      }
      s.templateSettings = {
        /**
         * Used to detect `data` property values to be HTML-escaped.
         *
         * @memberOf _.templateSettings
         * @type {RegExp}
         */
        escape: ta,
        /**
         * Used to detect code to be evaluated.
         *
         * @memberOf _.templateSettings
         * @type {RegExp}
         */
        evaluate: ea,
        /**
         * Used to detect `data` property values to inject.
         *
         * @memberOf _.templateSettings
         * @type {RegExp}
         */
        interpolate: cu,
        /**
         * Used to reference the data object in the template text.
         *
         * @memberOf _.templateSettings
         * @type {string}
         */
        variable: "",
        /**
         * Used to import variables into the compiled template.
         *
         * @memberOf _.templateSettings
         * @type {Object}
         */
        imports: {
          /**
           * A reference to the `lodash` function.
           *
           * @memberOf _.templateSettings.imports
           * @type {Function}
           */
          _: s
        }
      }, s.prototype = pr.prototype, s.prototype.constructor = s, ee.prototype = pn(pr.prototype), ee.prototype.constructor = ee;
      function J(t) {
        this.__wrapped__ = t, this.__actions__ = [], this.__dir__ = 1, this.__filtered__ = !1, this.__iteratees__ = [], this.__takeCount__ = Z, this.__views__ = [];
      }
      function Uo() {
        var t = new J(this.__wrapped__);
        return t.__actions__ = Rt(this.__actions__), t.__dir__ = this.__dir__, t.__filtered__ = this.__filtered__, t.__iteratees__ = Rt(this.__iteratees__), t.__takeCount__ = this.__takeCount__, t.__views__ = Rt(this.__views__), t;
      }
      function Go() {
        if (this.__filtered__) {
          var t = new J(this);
          t.__dir__ = -1, t.__filtered__ = !0;
        } else
          t = this.clone(), t.__dir__ *= -1;
        return t;
      }
      function ko() {
        var t = this.__wrapped__.value(), e = this.__dir__, n = F(t), r = e < 0, u = n ? t.length : 0, f = nh(0, u, this.__views__), a = f.start, o = f.end, h = o - a, p = r ? o : a - 1, v = this.__iteratees__, m = v.length, T = 0, I = It(h, this.__takeCount__);
        if (!n || !r && u == h && I == h)
          return Is(t, this.__actions__);
        var E = [];
        t:
          for (; h-- && T < I; ) {
            p += e;
            for (var z = -1, R = t[p]; ++z < m; ) {
              var X = v[z], Q = X.iteratee, Zt = X.type, Et = Q(R);
              if (Zt == A)
                R = Et;
              else if (!Et) {
                if (Zt == P)
                  continue t;
                break t;
              }
            }
            E[T++] = R;
          }
        return E;
      }
      J.prototype = pn(pr.prototype), J.prototype.constructor = J;
      function Je(t) {
        var e = -1, n = t == null ? 0 : t.length;
        for (this.clear(); ++e < n; ) {
          var r = t[e];
          this.set(r[0], r[1]);
        }
      }
      function zo() {
        this.__data__ = Pn ? Pn(null) : {}, this.size = 0;
      }
      function qo(t) {
        var e = this.has(t) && delete this.__data__[t];
        return this.size -= e ? 1 : 0, e;
      }
      function Ko(t) {
        var e = this.__data__;
        if (Pn) {
          var n = e[t];
          return n === W ? i : n;
        }
        return nt.call(e, t) ? e[t] : i;
      }
      function Zo(t) {
        var e = this.__data__;
        return Pn ? e[t] !== i : nt.call(e, t);
      }
      function Xo(t, e) {
        var n = this.__data__;
        return this.size += this.has(t) ? 0 : 1, n[t] = Pn && e === i ? W : e, this;
      }
      Je.prototype.clear = zo, Je.prototype.delete = qo, Je.prototype.get = Ko, Je.prototype.has = Zo, Je.prototype.set = Xo;
      function Se(t) {
        var e = -1, n = t == null ? 0 : t.length;
        for (this.clear(); ++e < n; ) {
          var r = t[e];
          this.set(r[0], r[1]);
        }
      }
      function Jo() {
        this.__data__ = [], this.size = 0;
      }
      function Qo(t) {
        var e = this.__data__, n = vr(e, t);
        if (n < 0)
          return !1;
        var r = e.length - 1;
        return n == r ? e.pop() : lr.call(e, n, 1), --this.size, !0;
      }
      function Vo(t) {
        var e = this.__data__, n = vr(e, t);
        return n < 0 ? i : e[n][1];
      }
      function jo(t) {
        return vr(this.__data__, t) > -1;
      }
      function tl(t, e) {
        var n = this.__data__, r = vr(n, t);
        return r < 0 ? (++this.size, n.push([t, e])) : n[r][1] = e, this;
      }
      Se.prototype.clear = Jo, Se.prototype.delete = Qo, Se.prototype.get = Vo, Se.prototype.has = jo, Se.prototype.set = tl;
      function be(t) {
        var e = -1, n = t == null ? 0 : t.length;
        for (this.clear(); ++e < n; ) {
          var r = t[e];
          this.set(r[0], r[1]);
        }
      }
      function el() {
        this.size = 0, this.__data__ = {
          hash: new Je(),
          map: new (Rn || Se)(),
          string: new Je()
        };
      }
      function nl(t) {
        var e = Lr(this, t).delete(t);
        return this.size -= e ? 1 : 0, e;
      }
      function rl(t) {
        return Lr(this, t).get(t);
      }
      function il(t) {
        return Lr(this, t).has(t);
      }
      function ul(t, e) {
        var n = Lr(this, t), r = n.size;
        return n.set(t, e), this.size += n.size == r ? 0 : 1, this;
      }
      be.prototype.clear = el, be.prototype.delete = nl, be.prototype.get = rl, be.prototype.has = il, be.prototype.set = ul;
      function Qe(t) {
        var e = -1, n = t == null ? 0 : t.length;
        for (this.__data__ = new be(); ++e < n; )
          this.add(t[e]);
      }
      function sl(t) {
        return this.__data__.set(t, W), this;
      }
      function fl(t) {
        return this.__data__.has(t);
      }
      Qe.prototype.add = Qe.prototype.push = sl, Qe.prototype.has = fl;
      function he(t) {
        var e = this.__data__ = new Se(t);
        this.size = e.size;
      }
      function al() {
        this.__data__ = new Se(), this.size = 0;
      }
      function ol(t) {
        var e = this.__data__, n = e.delete(t);
        return this.size = e.size, n;
      }
      function ll(t) {
        return this.__data__.get(t);
      }
      function hl(t) {
        return this.__data__.has(t);
      }
      function cl(t, e) {
        var n = this.__data__;
        if (n instanceof Se) {
          var r = n.__data__;
          if (!Rn || r.length < w - 1)
            return r.push([t, e]), this.size = ++n.size, this;
          n = this.__data__ = new be(r);
        }
        return n.set(t, e), this.size = n.size, this;
      }
      he.prototype.clear = al, he.prototype.delete = ol, he.prototype.get = ll, he.prototype.has = hl, he.prototype.set = cl;
      function is(t, e) {
        var n = F(t), r = !n && nn(t), u = !n && !r && Ue(t), f = !n && !r && !u && wn(t), a = n || r || u || f, o = a ? ci(t.length, To) : [], h = o.length;
        for (var p in t)
          (e || nt.call(t, p)) && !(a && // Safari 9 has enumerable `arguments.length` in strict mode.
          (p == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
          u && (p == "offset" || p == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
          f && (p == "buffer" || p == "byteLength" || p == "byteOffset") || // Skip index properties.
          De(p, h))) && o.push(p);
        return o;
      }
      function us(t) {
        var e = t.length;
        return e ? t[Li(0, e - 1)] : i;
      }
      function dl(t, e) {
        return Mr(Rt(t), Ve(e, 0, t.length));
      }
      function gl(t) {
        return Mr(Rt(t));
      }
      function yi(t, e, n) {
        (n !== i && !ce(t[e], n) || n === i && !(e in t)) && Ae(t, e, n);
      }
      function Nn(t, e, n) {
        var r = t[e];
        (!(nt.call(t, e) && ce(r, n)) || n === i && !(e in t)) && Ae(t, e, n);
      }
      function vr(t, e) {
        for (var n = t.length; n--; )
          if (ce(t[n][0], e))
            return n;
        return -1;
      }
      function _l(t, e, n, r) {
        return Ne(t, function(u, f, a) {
          e(r, u, n(u), a);
        }), r;
      }
      function ss(t, e) {
        return t && ve(e, Tt(e), t);
      }
      function pl(t, e) {
        return t && ve(e, Pt(e), t);
      }
      function Ae(t, e, n) {
        e == "__proto__" && hr ? hr(t, e, {
          configurable: !0,
          enumerable: !0,
          value: n,
          writable: !0
        }) : t[e] = n;
      }
      function wi(t, e) {
        for (var n = -1, r = e.length, u = c(r), f = t == null; ++n < r; )
          u[n] = f ? i : tu(t, e[n]);
        return u;
      }
      function Ve(t, e, n) {
        return t === t && (n !== i && (t = t <= n ? t : n), e !== i && (t = t >= e ? t : e)), t;
      }
      function ne(t, e, n, r, u, f) {
        var a, o = e & G, h = e & Lt, p = e & _t;
        if (n && (a = u ? n(t, r, u, f) : n(t)), a !== i)
          return a;
        if (!lt(t))
          return t;
        var v = F(t);
        if (v) {
          if (a = ih(t), !o)
            return Rt(t, a);
        } else {
          var m = Dt(t), T = m == _e || m == Ke;
          if (Ue(t))
            return Ms(t, o);
          if (m == Te || m == mt || T && !u) {
            if (a = h || T ? {} : Xs(t), !o)
              return h ? Kl(t, pl(a, t)) : ql(t, ss(a, t));
          } else {
            if (!ut[m])
              return u ? t : {};
            a = uh(t, m, o);
          }
        }
        f || (f = new he());
        var I = f.get(t);
        if (I)
          return I;
        f.set(t, a), Af(t) ? t.forEach(function(R) {
          a.add(ne(R, e, n, R, t, f));
        }) : Sf(t) && t.forEach(function(R, X) {
          a.set(X, ne(R, e, n, X, t, f));
        });
        var E = p ? h ? Hi : $i : h ? Pt : Tt, z = v ? i : E(t);
        return jt(z || t, function(R, X) {
          z && (X = R, R = t[X]), Nn(a, X, ne(R, e, n, X, t, f));
        }), a;
      }
      function vl(t) {
        var e = Tt(t);
        return function(n) {
          return fs(n, t, e);
        };
      }
      function fs(t, e, n) {
        var r = n.length;
        if (t == null)
          return !r;
        for (t = rt(t); r--; ) {
          var u = n[r], f = e[u], a = t[u];
          if (a === i && !(u in t) || !f(a))
            return !1;
        }
        return !0;
      }
      function as(t, e, n) {
        if (typeof t != "function")
          throw new te(D);
        return zn(function() {
          t.apply(i, n);
        }, e);
      }
      function $n(t, e, n, r) {
        var u = -1, f = tr, a = !0, o = t.length, h = [], p = e.length;
        if (!o)
          return h;
        n && (e = at(e, zt(n))), r ? (f = si, a = !1) : e.length >= w && (f = On, a = !1, e = new Qe(e));
        t:
          for (; ++u < o; ) {
            var v = t[u], m = n == null ? v : n(v);
            if (v = r || v !== 0 ? v : 0, a && m === m) {
              for (var T = p; T--; )
                if (e[T] === m)
                  continue t;
              h.push(v);
            } else f(e, m, r) || h.push(v);
          }
        return h;
      }
      var Ne = Ws(pe), os = Ws(Ti, !0);
      function ml(t, e) {
        var n = !0;
        return Ne(t, function(r, u, f) {
          return n = !!e(r, u, f), n;
        }), n;
      }
      function mr(t, e, n) {
        for (var r = -1, u = t.length; ++r < u; ) {
          var f = t[r], a = e(f);
          if (a != null && (o === i ? a === a && !Kt(a) : n(a, o)))
            var o = a, h = f;
        }
        return h;
      }
      function yl(t, e, n, r) {
        var u = t.length;
        for (n = k(n), n < 0 && (n = -n > u ? 0 : u + n), r = r === i || r > u ? u : k(r), r < 0 && (r += u), r = n > r ? 0 : If(r); n < r; )
          t[n++] = e;
        return t;
      }
      function ls(t, e) {
        var n = [];
        return Ne(t, function(r, u, f) {
          e(r, u, f) && n.push(r);
        }), n;
      }
      function bt(t, e, n, r, u) {
        var f = -1, a = t.length;
        for (n || (n = fh), u || (u = []); ++f < a; ) {
          var o = t[f];
          e > 0 && n(o) ? e > 1 ? bt(o, e - 1, n, r, u) : We(u, o) : r || (u[u.length] = o);
        }
        return u;
      }
      var xi = Ps(), hs = Ps(!0);
      function pe(t, e) {
        return t && xi(t, e, Tt);
      }
      function Ti(t, e) {
        return t && hs(t, e, Tt);
      }
      function yr(t, e) {
        return Re(e, function(n) {
          return Le(t[n]);
        });
      }
      function je(t, e) {
        e = He(e, t);
        for (var n = 0, r = e.length; t != null && n < r; )
          t = t[me(e[n++])];
        return n && n == r ? t : i;
      }
      function cs(t, e, n) {
        var r = e(t);
        return F(t) ? r : We(r, n(t));
      }
      function Bt(t) {
        return t == null ? t === i ? Kf : zf : Xe && Xe in rt(t) ? eh(t) : gh(t);
      }
      function Si(t, e) {
        return t > e;
      }
      function wl(t, e) {
        return t != null && nt.call(t, e);
      }
      function xl(t, e) {
        return t != null && e in rt(t);
      }
      function Tl(t, e, n) {
        return t >= It(e, n) && t < wt(e, n);
      }
      function bi(t, e, n) {
        for (var r = n ? si : tr, u = t[0].length, f = t.length, a = f, o = c(f), h = 1 / 0, p = []; a--; ) {
          var v = t[a];
          a && e && (v = at(v, zt(e))), h = It(v.length, h), o[a] = !n && (e || u >= 120 && v.length >= 120) ? new Qe(a && v) : i;
        }
        v = t[0];
        var m = -1, T = o[0];
        t:
          for (; ++m < u && p.length < h; ) {
            var I = v[m], E = e ? e(I) : I;
            if (I = n || I !== 0 ? I : 0, !(T ? On(T, E) : r(p, E, n))) {
              for (a = f; --a; ) {
                var z = o[a];
                if (!(z ? On(z, E) : r(t[a], E, n)))
                  continue t;
              }
              T && T.push(E), p.push(I);
            }
          }
        return p;
      }
      function Sl(t, e, n, r) {
        return pe(t, function(u, f, a) {
          e(r, n(u), f, a);
        }), r;
      }
      function Hn(t, e, n) {
        e = He(e, t), t = js(t, e);
        var r = t == null ? t : t[me(ie(e))];
        return r == null ? i : kt(r, t, n);
      }
      function ds(t) {
        return ht(t) && Bt(t) == mt;
      }
      function bl(t) {
        return ht(t) && Bt(t) == Bn;
      }
      function Al(t) {
        return ht(t) && Bt(t) == Ut;
      }
      function Fn(t, e, n, r, u) {
        return t === e ? !0 : t == null || e == null || !ht(t) && !ht(e) ? t !== t && e !== e : Cl(t, e, n, r, Fn, u);
      }
      function Cl(t, e, n, r, u, f) {
        var a = F(t), o = F(e), h = a ? se : Dt(t), p = o ? se : Dt(e);
        h = h == mt ? Te : h, p = p == mt ? Te : p;
        var v = h == Te, m = p == Te, T = h == p;
        if (T && Ue(t)) {
          if (!Ue(e))
            return !1;
          a = !0, v = !1;
        }
        if (T && !v)
          return f || (f = new he()), a || wn(t) ? qs(t, e, n, r, u, f) : jl(t, e, h, n, r, u, f);
        if (!(n & ct)) {
          var I = v && nt.call(t, "__wrapped__"), E = m && nt.call(e, "__wrapped__");
          if (I || E) {
            var z = I ? t.value() : t, R = E ? e.value() : e;
            return f || (f = new he()), u(z, R, n, r, f);
          }
        }
        return T ? (f || (f = new he()), th(t, e, n, r, u, f)) : !1;
      }
      function Il(t) {
        return ht(t) && Dt(t) == ae;
      }
      function Ai(t, e, n, r) {
        var u = n.length, f = u, a = !r;
        if (t == null)
          return !f;
        for (t = rt(t); u--; ) {
          var o = n[u];
          if (a && o[2] ? o[1] !== t[o[0]] : !(o[0] in t))
            return !1;
        }
        for (; ++u < f; ) {
          o = n[u];
          var h = o[0], p = t[h], v = o[1];
          if (a && o[2]) {
            if (p === i && !(h in t))
              return !1;
          } else {
            var m = new he();
            if (r)
              var T = r(p, v, h, t, e, m);
            if (!(T === i ? Fn(v, p, ct | $t, r, m) : T))
              return !1;
          }
        }
        return !0;
      }
      function gs(t) {
        if (!lt(t) || oh(t))
          return !1;
        var e = Le(t) ? Io : pa;
        return e.test(en(t));
      }
      function Dl(t) {
        return ht(t) && Bt(t) == Dn;
      }
      function Ll(t) {
        return ht(t) && Dt(t) == oe;
      }
      function Ml(t) {
        return ht(t) && Pr(t.length) && !!ft[Bt(t)];
      }
      function _s(t) {
        return typeof t == "function" ? t : t == null ? Yt : typeof t == "object" ? F(t) ? ms(t[0], t[1]) : vs(t) : Nf(t);
      }
      function Ci(t) {
        if (!kn(t))
          return Eo(t);
        var e = [];
        for (var n in rt(t))
          nt.call(t, n) && n != "constructor" && e.push(n);
        return e;
      }
      function Bl(t) {
        if (!lt(t))
          return dh(t);
        var e = kn(t), n = [];
        for (var r in t)
          r == "constructor" && (e || !nt.call(t, r)) || n.push(r);
        return n;
      }
      function Ii(t, e) {
        return t < e;
      }
      function ps(t, e) {
        var n = -1, r = Wt(t) ? c(t.length) : [];
        return Ne(t, function(u, f, a) {
          r[++n] = e(u, f, a);
        }), r;
      }
      function vs(t) {
        var e = Ui(t);
        return e.length == 1 && e[0][2] ? Qs(e[0][0], e[0][1]) : function(n) {
          return n === t || Ai(n, t, e);
        };
      }
      function ms(t, e) {
        return ki(t) && Js(e) ? Qs(me(t), e) : function(n) {
          var r = tu(n, t);
          return r === i && r === e ? eu(n, t) : Fn(e, r, ct | $t);
        };
      }
      function wr(t, e, n, r, u) {
        t !== e && xi(e, function(f, a) {
          if (u || (u = new he()), lt(f))
            Ol(t, e, a, n, wr, r, u);
          else {
            var o = r ? r(qi(t, a), f, a + "", t, e, u) : i;
            o === i && (o = f), yi(t, a, o);
          }
        }, Pt);
      }
      function Ol(t, e, n, r, u, f, a) {
        var o = qi(t, n), h = qi(e, n), p = a.get(h);
        if (p) {
          yi(t, n, p);
          return;
        }
        var v = f ? f(o, h, n + "", t, e, a) : i, m = v === i;
        if (m) {
          var T = F(h), I = !T && Ue(h), E = !T && !I && wn(h);
          v = h, T || I || E ? F(o) ? v = o : dt(o) ? v = Rt(o) : I ? (m = !1, v = Ms(h, !0)) : E ? (m = !1, v = Bs(h, !0)) : v = [] : qn(h) || nn(h) ? (v = o, nn(o) ? v = Df(o) : (!lt(o) || Le(o)) && (v = Xs(h))) : m = !1;
        }
        m && (a.set(h, v), u(v, h, r, f, a), a.delete(h)), yi(t, n, v);
      }
      function ys(t, e) {
        var n = t.length;
        if (n)
          return e += e < 0 ? n : 0, De(e, n) ? t[e] : i;
      }
      function ws(t, e, n) {
        e.length ? e = at(e, function(f) {
          return F(f) ? function(a) {
            return je(a, f.length === 1 ? f[0] : f);
          } : f;
        }) : e = [Yt];
        var r = -1;
        e = at(e, zt(O()));
        var u = ps(t, function(f, a, o) {
          var h = at(e, function(p) {
            return p(f);
          });
          return { criteria: h, index: ++r, value: f };
        });
        return io(u, function(f, a) {
          return zl(f, a, n);
        });
      }
      function El(t, e) {
        return xs(t, e, function(n, r) {
          return eu(t, r);
        });
      }
      function xs(t, e, n) {
        for (var r = -1, u = e.length, f = {}; ++r < u; ) {
          var a = e[r], o = je(t, a);
          n(o, a) && Un(f, He(a, t), o);
        }
        return f;
      }
      function Rl(t) {
        return function(e) {
          return je(e, t);
        };
      }
      function Di(t, e, n, r) {
        var u = r ? ro : on, f = -1, a = e.length, o = t;
        for (t === e && (e = Rt(e)), n && (o = at(t, zt(n))); ++f < a; )
          for (var h = 0, p = e[f], v = n ? n(p) : p; (h = u(o, v, h, r)) > -1; )
            o !== t && lr.call(o, h, 1), lr.call(t, h, 1);
        return t;
      }
      function Ts(t, e) {
        for (var n = t ? e.length : 0, r = n - 1; n--; ) {
          var u = e[n];
          if (n == r || u !== f) {
            var f = u;
            De(u) ? lr.call(t, u, 1) : Oi(t, u);
          }
        }
        return t;
      }
      function Li(t, e) {
        return t + dr(ns() * (e - t + 1));
      }
      function Wl(t, e, n, r) {
        for (var u = -1, f = wt(cr((e - t) / (n || 1)), 0), a = c(f); f--; )
          a[r ? f : ++u] = t, t += n;
        return a;
      }
      function Mi(t, e) {
        var n = "";
        if (!t || e < 1 || e > x)
          return n;
        do
          e % 2 && (n += t), e = dr(e / 2), e && (t += t);
        while (e);
        return n;
      }
      function q(t, e) {
        return Ki(Vs(t, e, Yt), t + "");
      }
      function Pl(t) {
        return us(xn(t));
      }
      function Yl(t, e) {
        var n = xn(t);
        return Mr(n, Ve(e, 0, n.length));
      }
      function Un(t, e, n, r) {
        if (!lt(t))
          return t;
        e = He(e, t);
        for (var u = -1, f = e.length, a = f - 1, o = t; o != null && ++u < f; ) {
          var h = me(e[u]), p = n;
          if (h === "__proto__" || h === "constructor" || h === "prototype")
            return t;
          if (u != a) {
            var v = o[h];
            p = r ? r(v, h, o) : i, p === i && (p = lt(v) ? v : De(e[u + 1]) ? [] : {});
          }
          Nn(o, h, p), o = o[h];
        }
        return t;
      }
      var Ss = gr ? function(t, e) {
        return gr.set(t, e), t;
      } : Yt, Nl = hr ? function(t, e) {
        return hr(t, "toString", {
          configurable: !0,
          enumerable: !1,
          value: ru(e),
          writable: !0
        });
      } : Yt;
      function $l(t) {
        return Mr(xn(t));
      }
      function re(t, e, n) {
        var r = -1, u = t.length;
        e < 0 && (e = -e > u ? 0 : u + e), n = n > u ? u : n, n < 0 && (n += u), u = e > n ? 0 : n - e >>> 0, e >>>= 0;
        for (var f = c(u); ++r < u; )
          f[r] = t[r + e];
        return f;
      }
      function Hl(t, e) {
        var n;
        return Ne(t, function(r, u, f) {
          return n = e(r, u, f), !n;
        }), !!n;
      }
      function xr(t, e, n) {
        var r = 0, u = t == null ? r : t.length;
        if (typeof e == "number" && e === e && u <= vt) {
          for (; r < u; ) {
            var f = r + u >>> 1, a = t[f];
            a !== null && !Kt(a) && (n ? a <= e : a < e) ? r = f + 1 : u = f;
          }
          return u;
        }
        return Bi(t, e, Yt, n);
      }
      function Bi(t, e, n, r) {
        var u = 0, f = t == null ? 0 : t.length;
        if (f === 0)
          return 0;
        e = n(e);
        for (var a = e !== e, o = e === null, h = Kt(e), p = e === i; u < f; ) {
          var v = dr((u + f) / 2), m = n(t[v]), T = m !== i, I = m === null, E = m === m, z = Kt(m);
          if (a)
            var R = r || E;
          else p ? R = E && (r || T) : o ? R = E && T && (r || !I) : h ? R = E && T && !I && (r || !z) : I || z ? R = !1 : R = r ? m <= e : m < e;
          R ? u = v + 1 : f = v;
        }
        return It(f, ot);
      }
      function bs(t, e) {
        for (var n = -1, r = t.length, u = 0, f = []; ++n < r; ) {
          var a = t[n], o = e ? e(a) : a;
          if (!n || !ce(o, h)) {
            var h = o;
            f[u++] = a === 0 ? 0 : a;
          }
        }
        return f;
      }
      function As(t) {
        return typeof t == "number" ? t : Kt(t) ? N : +t;
      }
      function qt(t) {
        if (typeof t == "string")
          return t;
        if (F(t))
          return at(t, qt) + "";
        if (Kt(t))
          return rs ? rs.call(t) : "";
        var e = t + "";
        return e == "0" && 1 / t == -C ? "-0" : e;
      }
      function $e(t, e, n) {
        var r = -1, u = tr, f = t.length, a = !0, o = [], h = o;
        if (n)
          a = !1, u = si;
        else if (f >= w) {
          var p = e ? null : Ql(t);
          if (p)
            return nr(p);
          a = !1, u = On, h = new Qe();
        } else
          h = e ? [] : o;
        t:
          for (; ++r < f; ) {
            var v = t[r], m = e ? e(v) : v;
            if (v = n || v !== 0 ? v : 0, a && m === m) {
              for (var T = h.length; T--; )
                if (h[T] === m)
                  continue t;
              e && h.push(m), o.push(v);
            } else u(h, m, n) || (h !== o && h.push(m), o.push(v));
          }
        return o;
      }
      function Oi(t, e) {
        return e = He(e, t), t = js(t, e), t == null || delete t[me(ie(e))];
      }
      function Cs(t, e, n, r) {
        return Un(t, e, n(je(t, e)), r);
      }
      function Tr(t, e, n, r) {
        for (var u = t.length, f = r ? u : -1; (r ? f-- : ++f < u) && e(t[f], f, t); )
          ;
        return n ? re(t, r ? 0 : f, r ? f + 1 : u) : re(t, r ? f + 1 : 0, r ? u : f);
      }
      function Is(t, e) {
        var n = t;
        return n instanceof J && (n = n.value()), fi(e, function(r, u) {
          return u.func.apply(u.thisArg, We([r], u.args));
        }, n);
      }
      function Ei(t, e, n) {
        var r = t.length;
        if (r < 2)
          return r ? $e(t[0]) : [];
        for (var u = -1, f = c(r); ++u < r; )
          for (var a = t[u], o = -1; ++o < r; )
            o != u && (f[u] = $n(f[u] || a, t[o], e, n));
        return $e(bt(f, 1), e, n);
      }
      function Ds(t, e, n) {
        for (var r = -1, u = t.length, f = e.length, a = {}; ++r < u; ) {
          var o = r < f ? e[r] : i;
          n(a, t[r], o);
        }
        return a;
      }
      function Ri(t) {
        return dt(t) ? t : [];
      }
      function Wi(t) {
        return typeof t == "function" ? t : Yt;
      }
      function He(t, e) {
        return F(t) ? t : ki(t, e) ? [t] : rf(et(t));
      }
      var Fl = q;
      function Fe(t, e, n) {
        var r = t.length;
        return n = n === i ? r : n, !e && n >= r ? t : re(t, e, n);
      }
      var Ls = Do || function(t) {
        return St.clearTimeout(t);
      };
      function Ms(t, e) {
        if (e)
          return t.slice();
        var n = t.length, r = Qu ? Qu(n) : new t.constructor(n);
        return t.copy(r), r;
      }
      function Pi(t) {
        var e = new t.constructor(t.byteLength);
        return new ar(e).set(new ar(t)), e;
      }
      function Ul(t, e) {
        var n = e ? Pi(t.buffer) : t.buffer;
        return new t.constructor(n, t.byteOffset, t.byteLength);
      }
      function Gl(t) {
        var e = new t.constructor(t.source, du.exec(t));
        return e.lastIndex = t.lastIndex, e;
      }
      function kl(t) {
        return Yn ? rt(Yn.call(t)) : {};
      }
      function Bs(t, e) {
        var n = e ? Pi(t.buffer) : t.buffer;
        return new t.constructor(n, t.byteOffset, t.length);
      }
      function Os(t, e) {
        if (t !== e) {
          var n = t !== i, r = t === null, u = t === t, f = Kt(t), a = e !== i, o = e === null, h = e === e, p = Kt(e);
          if (!o && !p && !f && t > e || f && a && h && !o && !p || r && a && h || !n && h || !u)
            return 1;
          if (!r && !f && !p && t < e || p && n && u && !r && !f || o && n && u || !a && u || !h)
            return -1;
        }
        return 0;
      }
      function zl(t, e, n) {
        for (var r = -1, u = t.criteria, f = e.criteria, a = u.length, o = n.length; ++r < a; ) {
          var h = Os(u[r], f[r]);
          if (h) {
            if (r >= o)
              return h;
            var p = n[r];
            return h * (p == "desc" ? -1 : 1);
          }
        }
        return t.index - e.index;
      }
      function Es(t, e, n, r) {
        for (var u = -1, f = t.length, a = n.length, o = -1, h = e.length, p = wt(f - a, 0), v = c(h + p), m = !r; ++o < h; )
          v[o] = e[o];
        for (; ++u < a; )
          (m || u < f) && (v[n[u]] = t[u]);
        for (; p--; )
          v[o++] = t[u++];
        return v;
      }
      function Rs(t, e, n, r) {
        for (var u = -1, f = t.length, a = -1, o = n.length, h = -1, p = e.length, v = wt(f - o, 0), m = c(v + p), T = !r; ++u < v; )
          m[u] = t[u];
        for (var I = u; ++h < p; )
          m[I + h] = e[h];
        for (; ++a < o; )
          (T || u < f) && (m[I + n[a]] = t[u++]);
        return m;
      }
      function Rt(t, e) {
        var n = -1, r = t.length;
        for (e || (e = c(r)); ++n < r; )
          e[n] = t[n];
        return e;
      }
      function ve(t, e, n, r) {
        var u = !n;
        n || (n = {});
        for (var f = -1, a = e.length; ++f < a; ) {
          var o = e[f], h = r ? r(n[o], t[o], o, n, t) : i;
          h === i && (h = t[o]), u ? Ae(n, o, h) : Nn(n, o, h);
        }
        return n;
      }
      function ql(t, e) {
        return ve(t, Gi(t), e);
      }
      function Kl(t, e) {
        return ve(t, Ks(t), e);
      }
      function Sr(t, e) {
        return function(n, r) {
          var u = F(n) ? Qa : _l, f = e ? e() : {};
          return u(n, t, O(r, 2), f);
        };
      }
      function vn(t) {
        return q(function(e, n) {
          var r = -1, u = n.length, f = u > 1 ? n[u - 1] : i, a = u > 2 ? n[2] : i;
          for (f = t.length > 3 && typeof f == "function" ? (u--, f) : i, a && Ot(n[0], n[1], a) && (f = u < 3 ? i : f, u = 1), e = rt(e); ++r < u; ) {
            var o = n[r];
            o && t(e, o, r, f);
          }
          return e;
        });
      }
      function Ws(t, e) {
        return function(n, r) {
          if (n == null)
            return n;
          if (!Wt(n))
            return t(n, r);
          for (var u = n.length, f = e ? u : -1, a = rt(n); (e ? f-- : ++f < u) && r(a[f], f, a) !== !1; )
            ;
          return n;
        };
      }
      function Ps(t) {
        return function(e, n, r) {
          for (var u = -1, f = rt(e), a = r(e), o = a.length; o--; ) {
            var h = a[t ? o : ++u];
            if (n(f[h], h, f) === !1)
              break;
          }
          return e;
        };
      }
      function Zl(t, e, n) {
        var r = e & At, u = Gn(t);
        function f() {
          var a = this && this !== St && this instanceof f ? u : t;
          return a.apply(r ? n : this, arguments);
        }
        return f;
      }
      function Ys(t) {
        return function(e) {
          e = et(e);
          var n = ln(e) ? le(e) : i, r = n ? n[0] : e.charAt(0), u = n ? Fe(n, 1).join("") : e.slice(1);
          return r[t]() + u;
        };
      }
      function mn(t) {
        return function(e) {
          return fi(Pf(Wf(e).replace(Ya, "")), t, "");
        };
      }
      function Gn(t) {
        return function() {
          var e = arguments;
          switch (e.length) {
            case 0:
              return new t();
            case 1:
              return new t(e[0]);
            case 2:
              return new t(e[0], e[1]);
            case 3:
              return new t(e[0], e[1], e[2]);
            case 4:
              return new t(e[0], e[1], e[2], e[3]);
            case 5:
              return new t(e[0], e[1], e[2], e[3], e[4]);
            case 6:
              return new t(e[0], e[1], e[2], e[3], e[4], e[5]);
            case 7:
              return new t(e[0], e[1], e[2], e[3], e[4], e[5], e[6]);
          }
          var n = pn(t.prototype), r = t.apply(n, e);
          return lt(r) ? r : n;
        };
      }
      function Xl(t, e, n) {
        var r = Gn(t);
        function u() {
          for (var f = arguments.length, a = c(f), o = f, h = yn(u); o--; )
            a[o] = arguments[o];
          var p = f < 3 && a[0] !== h && a[f - 1] !== h ? [] : Pe(a, h);
          if (f -= p.length, f < n)
            return Us(
              t,
              e,
              br,
              u.placeholder,
              i,
              a,
              p,
              i,
              i,
              n - f
            );
          var v = this && this !== St && this instanceof u ? r : t;
          return kt(v, this, a);
        }
        return u;
      }
      function Ns(t) {
        return function(e, n, r) {
          var u = rt(e);
          if (!Wt(e)) {
            var f = O(n, 3);
            e = Tt(e), n = function(o) {
              return f(u[o], o, u);
            };
          }
          var a = t(e, n, r);
          return a > -1 ? u[f ? e[a] : a] : i;
        };
      }
      function $s(t) {
        return Ie(function(e) {
          var n = e.length, r = n, u = ee.prototype.thru;
          for (t && e.reverse(); r--; ) {
            var f = e[r];
            if (typeof f != "function")
              throw new te(D);
            if (u && !a && Dr(f) == "wrapper")
              var a = new ee([], !0);
          }
          for (r = a ? r : n; ++r < n; ) {
            f = e[r];
            var o = Dr(f), h = o == "wrapper" ? Fi(f) : i;
            h && zi(h[0]) && h[1] == (Qt | Ht | Mt | we) && !h[4].length && h[9] == 1 ? a = a[Dr(h[0])].apply(a, h[3]) : a = f.length == 1 && zi(f) ? a[o]() : a.thru(f);
          }
          return function() {
            var p = arguments, v = p[0];
            if (a && p.length == 1 && F(v))
              return a.plant(v).value();
            for (var m = 0, T = n ? e[m].apply(this, p) : v; ++m < n; )
              T = e[m].call(this, T);
            return T;
          };
        });
      }
      function br(t, e, n, r, u, f, a, o, h, p) {
        var v = e & Qt, m = e & At, T = e & Oe, I = e & (Ht | qe), E = e & Ee, z = T ? i : Gn(t);
        function R() {
          for (var X = arguments.length, Q = c(X), Zt = X; Zt--; )
            Q[Zt] = arguments[Zt];
          if (I)
            var Et = yn(R), Xt = so(Q, Et);
          if (r && (Q = Es(Q, r, u, I)), f && (Q = Rs(Q, f, a, I)), X -= Xt, I && X < p) {
            var gt = Pe(Q, Et);
            return Us(
              t,
              e,
              br,
              R.placeholder,
              n,
              Q,
              gt,
              o,
              h,
              p - X
            );
          }
          var de = m ? n : this, Be = T ? de[t] : t;
          return X = Q.length, o ? Q = _h(Q, o) : E && X > 1 && Q.reverse(), v && h < X && (Q.length = h), this && this !== St && this instanceof R && (Be = z || Gn(Be)), Be.apply(de, Q);
        }
        return R;
      }
      function Hs(t, e) {
        return function(n, r) {
          return Sl(n, t, e(r), {});
        };
      }
      function Ar(t, e) {
        return function(n, r) {
          var u;
          if (n === i && r === i)
            return e;
          if (n !== i && (u = n), r !== i) {
            if (u === i)
              return r;
            typeof n == "string" || typeof r == "string" ? (n = qt(n), r = qt(r)) : (n = As(n), r = As(r)), u = t(n, r);
          }
          return u;
        };
      }
      function Yi(t) {
        return Ie(function(e) {
          return e = at(e, zt(O())), q(function(n) {
            var r = this;
            return t(e, function(u) {
              return kt(u, r, n);
            });
          });
        });
      }
      function Cr(t, e) {
        e = e === i ? " " : qt(e);
        var n = e.length;
        if (n < 2)
          return n ? Mi(e, t) : e;
        var r = Mi(e, cr(t / hn(e)));
        return ln(e) ? Fe(le(r), 0, t).join("") : r.slice(0, t);
      }
      function Jl(t, e, n, r) {
        var u = e & At, f = Gn(t);
        function a() {
          for (var o = -1, h = arguments.length, p = -1, v = r.length, m = c(v + h), T = this && this !== St && this instanceof a ? f : t; ++p < v; )
            m[p] = r[p];
          for (; h--; )
            m[p++] = arguments[++o];
          return kt(T, u ? n : this, m);
        }
        return a;
      }
      function Fs(t) {
        return function(e, n, r) {
          return r && typeof r != "number" && Ot(e, n, r) && (n = r = i), e = Me(e), n === i ? (n = e, e = 0) : n = Me(n), r = r === i ? e < n ? 1 : -1 : Me(r), Wl(e, n, r, t);
        };
      }
      function Ir(t) {
        return function(e, n) {
          return typeof e == "string" && typeof n == "string" || (e = ue(e), n = ue(n)), t(e, n);
        };
      }
      function Us(t, e, n, r, u, f, a, o, h, p) {
        var v = e & Ht, m = v ? a : i, T = v ? i : a, I = v ? f : i, E = v ? i : f;
        e |= v ? Mt : Ft, e &= ~(v ? Ft : Mt), e & Zn || (e &= -4);
        var z = [
          t,
          e,
          u,
          I,
          m,
          E,
          T,
          o,
          h,
          p
        ], R = n.apply(i, z);
        return zi(t) && tf(R, z), R.placeholder = r, ef(R, t, e);
      }
      function Ni(t) {
        var e = yt[t];
        return function(n, r) {
          if (n = ue(n), r = r == null ? 0 : It(k(r), 292), r && es(n)) {
            var u = (et(n) + "e").split("e"), f = e(u[0] + "e" + (+u[1] + r));
            return u = (et(f) + "e").split("e"), +(u[0] + "e" + (+u[1] - r));
          }
          return e(n);
        };
      }
      var Ql = gn && 1 / nr(new gn([, -0]))[1] == C ? function(t) {
        return new gn(t);
      } : su;
      function Gs(t) {
        return function(e) {
          var n = Dt(e);
          return n == ae ? gi(e) : n == oe ? go(e) : uo(e, t(e));
        };
      }
      function Ce(t, e, n, r, u, f, a, o) {
        var h = e & Oe;
        if (!h && typeof t != "function")
          throw new te(D);
        var p = r ? r.length : 0;
        if (p || (e &= -97, r = u = i), a = a === i ? a : wt(k(a), 0), o = o === i ? o : k(o), p -= u ? u.length : 0, e & Ft) {
          var v = r, m = u;
          r = u = i;
        }
        var T = h ? i : Fi(t), I = [
          t,
          e,
          n,
          r,
          u,
          v,
          m,
          f,
          a,
          o
        ];
        if (T && ch(I, T), t = I[0], e = I[1], n = I[2], r = I[3], u = I[4], o = I[9] = I[9] === i ? h ? 0 : t.length : wt(I[9] - p, 0), !o && e & (Ht | qe) && (e &= -25), !e || e == At)
          var E = Zl(t, e, n);
        else e == Ht || e == qe ? E = Xl(t, e, o) : (e == Mt || e == (At | Mt)) && !u.length ? E = Jl(t, e, n, r) : E = br.apply(i, I);
        var z = T ? Ss : tf;
        return ef(z(E, I), t, e);
      }
      function ks(t, e, n, r) {
        return t === i || ce(t, dn[n]) && !nt.call(r, n) ? e : t;
      }
      function zs(t, e, n, r, u, f) {
        return lt(t) && lt(e) && (f.set(e, t), wr(t, e, i, zs, f), f.delete(e)), t;
      }
      function Vl(t) {
        return qn(t) ? i : t;
      }
      function qs(t, e, n, r, u, f) {
        var a = n & ct, o = t.length, h = e.length;
        if (o != h && !(a && h > o))
          return !1;
        var p = f.get(t), v = f.get(e);
        if (p && v)
          return p == e && v == t;
        var m = -1, T = !0, I = n & $t ? new Qe() : i;
        for (f.set(t, e), f.set(e, t); ++m < o; ) {
          var E = t[m], z = e[m];
          if (r)
            var R = a ? r(z, E, m, e, t, f) : r(E, z, m, t, e, f);
          if (R !== i) {
            if (R)
              continue;
            T = !1;
            break;
          }
          if (I) {
            if (!ai(e, function(X, Q) {
              if (!On(I, Q) && (E === X || u(E, X, n, r, f)))
                return I.push(Q);
            })) {
              T = !1;
              break;
            }
          } else if (!(E === z || u(E, z, n, r, f))) {
            T = !1;
            break;
          }
        }
        return f.delete(t), f.delete(e), T;
      }
      function jl(t, e, n, r, u, f, a) {
        switch (n) {
          case fn:
            if (t.byteLength != e.byteLength || t.byteOffset != e.byteOffset)
              return !1;
            t = t.buffer, e = e.buffer;
          case Bn:
            return !(t.byteLength != e.byteLength || !f(new ar(t), new ar(e)));
          case fe:
          case Ut:
          case In:
            return ce(+t, +e);
          case Gt:
            return t.name == e.name && t.message == e.message;
          case Dn:
          case Ln:
            return t == e + "";
          case ae:
            var o = gi;
          case oe:
            var h = r & ct;
            if (o || (o = nr), t.size != e.size && !h)
              return !1;
            var p = a.get(t);
            if (p)
              return p == e;
            r |= $t, a.set(t, e);
            var v = qs(o(t), o(e), r, u, f, a);
            return a.delete(t), v;
          case Jn:
            if (Yn)
              return Yn.call(t) == Yn.call(e);
        }
        return !1;
      }
      function th(t, e, n, r, u, f) {
        var a = n & ct, o = $i(t), h = o.length, p = $i(e), v = p.length;
        if (h != v && !a)
          return !1;
        for (var m = h; m--; ) {
          var T = o[m];
          if (!(a ? T in e : nt.call(e, T)))
            return !1;
        }
        var I = f.get(t), E = f.get(e);
        if (I && E)
          return I == e && E == t;
        var z = !0;
        f.set(t, e), f.set(e, t);
        for (var R = a; ++m < h; ) {
          T = o[m];
          var X = t[T], Q = e[T];
          if (r)
            var Zt = a ? r(Q, X, T, e, t, f) : r(X, Q, T, t, e, f);
          if (!(Zt === i ? X === Q || u(X, Q, n, r, f) : Zt)) {
            z = !1;
            break;
          }
          R || (R = T == "constructor");
        }
        if (z && !R) {
          var Et = t.constructor, Xt = e.constructor;
          Et != Xt && "constructor" in t && "constructor" in e && !(typeof Et == "function" && Et instanceof Et && typeof Xt == "function" && Xt instanceof Xt) && (z = !1);
        }
        return f.delete(t), f.delete(e), z;
      }
      function Ie(t) {
        return Ki(Vs(t, i, af), t + "");
      }
      function $i(t) {
        return cs(t, Tt, Gi);
      }
      function Hi(t) {
        return cs(t, Pt, Ks);
      }
      var Fi = gr ? function(t) {
        return gr.get(t);
      } : su;
      function Dr(t) {
        for (var e = t.name + "", n = _n[e], r = nt.call(_n, e) ? n.length : 0; r--; ) {
          var u = n[r], f = u.func;
          if (f == null || f == t)
            return u.name;
        }
        return e;
      }
      function yn(t) {
        var e = nt.call(s, "placeholder") ? s : t;
        return e.placeholder;
      }
      function O() {
        var t = s.iteratee || iu;
        return t = t === iu ? _s : t, arguments.length ? t(arguments[0], arguments[1]) : t;
      }
      function Lr(t, e) {
        var n = t.__data__;
        return ah(e) ? n[typeof e == "string" ? "string" : "hash"] : n.map;
      }
      function Ui(t) {
        for (var e = Tt(t), n = e.length; n--; ) {
          var r = e[n], u = t[r];
          e[n] = [r, u, Js(u)];
        }
        return e;
      }
      function tn(t, e) {
        var n = lo(t, e);
        return gs(n) ? n : i;
      }
      function eh(t) {
        var e = nt.call(t, Xe), n = t[Xe];
        try {
          t[Xe] = i;
          var r = !0;
        } catch {
        }
        var u = sr.call(t);
        return r && (e ? t[Xe] = n : delete t[Xe]), u;
      }
      var Gi = pi ? function(t) {
        return t == null ? [] : (t = rt(t), Re(pi(t), function(e) {
          return ju.call(t, e);
        }));
      } : fu, Ks = pi ? function(t) {
        for (var e = []; t; )
          We(e, Gi(t)), t = or(t);
        return e;
      } : fu, Dt = Bt;
      (vi && Dt(new vi(new ArrayBuffer(1))) != fn || Rn && Dt(new Rn()) != ae || mi && Dt(mi.resolve()) != ou || gn && Dt(new gn()) != oe || Wn && Dt(new Wn()) != Mn) && (Dt = function(t) {
        var e = Bt(t), n = e == Te ? t.constructor : i, r = n ? en(n) : "";
        if (r)
          switch (r) {
            case Yo:
              return fn;
            case No:
              return ae;
            case $o:
              return ou;
            case Ho:
              return oe;
            case Fo:
              return Mn;
          }
        return e;
      });
      function nh(t, e, n) {
        for (var r = -1, u = n.length; ++r < u; ) {
          var f = n[r], a = f.size;
          switch (f.type) {
            case "drop":
              t += a;
              break;
            case "dropRight":
              e -= a;
              break;
            case "take":
              e = It(e, t + a);
              break;
            case "takeRight":
              t = wt(t, e - a);
              break;
          }
        }
        return { start: t, end: e };
      }
      function rh(t) {
        var e = t.match(aa);
        return e ? e[1].split(oa) : [];
      }
      function Zs(t, e, n) {
        e = He(e, t);
        for (var r = -1, u = e.length, f = !1; ++r < u; ) {
          var a = me(e[r]);
          if (!(f = t != null && n(t, a)))
            break;
          t = t[a];
        }
        return f || ++r != u ? f : (u = t == null ? 0 : t.length, !!u && Pr(u) && De(a, u) && (F(t) || nn(t)));
      }
      function ih(t) {
        var e = t.length, n = new t.constructor(e);
        return e && typeof t[0] == "string" && nt.call(t, "index") && (n.index = t.index, n.input = t.input), n;
      }
      function Xs(t) {
        return typeof t.constructor == "function" && !kn(t) ? pn(or(t)) : {};
      }
      function uh(t, e, n) {
        var r = t.constructor;
        switch (e) {
          case Bn:
            return Pi(t);
          case fe:
          case Ut:
            return new r(+t);
          case fn:
            return Ul(t, n);
          case Ur:
          case Gr:
          case kr:
          case zr:
          case qr:
          case Kr:
          case Zr:
          case Xr:
          case Jr:
            return Bs(t, n);
          case ae:
            return new r();
          case In:
          case Ln:
            return new r(t);
          case Dn:
            return Gl(t);
          case oe:
            return new r();
          case Jn:
            return kl(t);
        }
      }
      function sh(t, e) {
        var n = e.length;
        if (!n)
          return t;
        var r = n - 1;
        return e[r] = (n > 1 ? "& " : "") + e[r], e = e.join(n > 2 ? ", " : " "), t.replace(fa, `{
/* [wrapped with ` + e + `] */
`);
      }
      function fh(t) {
        return F(t) || nn(t) || !!(ts && t && t[ts]);
      }
      function De(t, e) {
        var n = typeof t;
        return e = e ?? x, !!e && (n == "number" || n != "symbol" && ma.test(t)) && t > -1 && t % 1 == 0 && t < e;
      }
      function Ot(t, e, n) {
        if (!lt(n))
          return !1;
        var r = typeof e;
        return (r == "number" ? Wt(n) && De(e, n.length) : r == "string" && e in n) ? ce(n[e], t) : !1;
      }
      function ki(t, e) {
        if (F(t))
          return !1;
        var n = typeof t;
        return n == "number" || n == "symbol" || n == "boolean" || t == null || Kt(t) ? !0 : ra.test(t) || !na.test(t) || e != null && t in rt(e);
      }
      function ah(t) {
        var e = typeof t;
        return e == "string" || e == "number" || e == "symbol" || e == "boolean" ? t !== "__proto__" : t === null;
      }
      function zi(t) {
        var e = Dr(t), n = s[e];
        if (typeof n != "function" || !(e in J.prototype))
          return !1;
        if (t === n)
          return !0;
        var r = Fi(n);
        return !!r && t === r[0];
      }
      function oh(t) {
        return !!Ju && Ju in t;
      }
      var lh = ir ? Le : au;
      function kn(t) {
        var e = t && t.constructor, n = typeof e == "function" && e.prototype || dn;
        return t === n;
      }
      function Js(t) {
        return t === t && !lt(t);
      }
      function Qs(t, e) {
        return function(n) {
          return n == null ? !1 : n[t] === e && (e !== i || t in rt(n));
        };
      }
      function hh(t) {
        var e = Rr(t, function(r) {
          return n.size === B && n.clear(), r;
        }), n = e.cache;
        return e;
      }
      function ch(t, e) {
        var n = t[1], r = e[1], u = n | r, f = u < (At | Oe | Qt), a = r == Qt && n == Ht || r == Qt && n == we && t[7].length <= e[8] || r == (Qt | we) && e[7].length <= e[8] && n == Ht;
        if (!(f || a))
          return t;
        r & At && (t[2] = e[2], u |= n & At ? 0 : Zn);
        var o = e[3];
        if (o) {
          var h = t[3];
          t[3] = h ? Es(h, o, e[4]) : o, t[4] = h ? Pe(t[3], U) : e[4];
        }
        return o = e[5], o && (h = t[5], t[5] = h ? Rs(h, o, e[6]) : o, t[6] = h ? Pe(t[5], U) : e[6]), o = e[7], o && (t[7] = o), r & Qt && (t[8] = t[8] == null ? e[8] : It(t[8], e[8])), t[9] == null && (t[9] = e[9]), t[0] = e[0], t[1] = u, t;
      }
      function dh(t) {
        var e = [];
        if (t != null)
          for (var n in rt(t))
            e.push(n);
        return e;
      }
      function gh(t) {
        return sr.call(t);
      }
      function Vs(t, e, n) {
        return e = wt(e === i ? t.length - 1 : e, 0), function() {
          for (var r = arguments, u = -1, f = wt(r.length - e, 0), a = c(f); ++u < f; )
            a[u] = r[e + u];
          u = -1;
          for (var o = c(e + 1); ++u < e; )
            o[u] = r[u];
          return o[e] = n(a), kt(t, this, o);
        };
      }
      function js(t, e) {
        return e.length < 2 ? t : je(t, re(e, 0, -1));
      }
      function _h(t, e) {
        for (var n = t.length, r = It(e.length, n), u = Rt(t); r--; ) {
          var f = e[r];
          t[r] = De(f, n) ? u[f] : i;
        }
        return t;
      }
      function qi(t, e) {
        if (!(e === "constructor" && typeof t[e] == "function") && e != "__proto__")
          return t[e];
      }
      var tf = nf(Ss), zn = Mo || function(t, e) {
        return St.setTimeout(t, e);
      }, Ki = nf(Nl);
      function ef(t, e, n) {
        var r = e + "";
        return Ki(t, sh(r, ph(rh(r), n)));
      }
      function nf(t) {
        var e = 0, n = 0;
        return function() {
          var r = Ro(), u = Xn - (r - n);
          if (n = r, u > 0) {
            if (++e >= sn)
              return arguments[0];
          } else
            e = 0;
          return t.apply(i, arguments);
        };
      }
      function Mr(t, e) {
        var n = -1, r = t.length, u = r - 1;
        for (e = e === i ? r : e; ++n < e; ) {
          var f = Li(n, u), a = t[f];
          t[f] = t[n], t[n] = a;
        }
        return t.length = e, t;
      }
      var rf = hh(function(t) {
        var e = [];
        return t.charCodeAt(0) === 46 && e.push(""), t.replace(ia, function(n, r, u, f) {
          e.push(u ? f.replace(ca, "$1") : r || n);
        }), e;
      });
      function me(t) {
        if (typeof t == "string" || Kt(t))
          return t;
        var e = t + "";
        return e == "0" && 1 / t == -C ? "-0" : e;
      }
      function en(t) {
        if (t != null) {
          try {
            return ur.call(t);
          } catch {
          }
          try {
            return t + "";
          } catch {
          }
        }
        return "";
      }
      function ph(t, e) {
        return jt(xt, function(n) {
          var r = "_." + n[0];
          e & n[1] && !tr(t, r) && t.push(r);
        }), t.sort();
      }
      function uf(t) {
        if (t instanceof J)
          return t.clone();
        var e = new ee(t.__wrapped__, t.__chain__);
        return e.__actions__ = Rt(t.__actions__), e.__index__ = t.__index__, e.__values__ = t.__values__, e;
      }
      function vh(t, e, n) {
        (n ? Ot(t, e, n) : e === i) ? e = 1 : e = wt(k(e), 0);
        var r = t == null ? 0 : t.length;
        if (!r || e < 1)
          return [];
        for (var u = 0, f = 0, a = c(cr(r / e)); u < r; )
          a[f++] = re(t, u, u += e);
        return a;
      }
      function mh(t) {
        for (var e = -1, n = t == null ? 0 : t.length, r = 0, u = []; ++e < n; ) {
          var f = t[e];
          f && (u[r++] = f);
        }
        return u;
      }
      function yh() {
        var t = arguments.length;
        if (!t)
          return [];
        for (var e = c(t - 1), n = arguments[0], r = t; r--; )
          e[r - 1] = arguments[r];
        return We(F(n) ? Rt(n) : [n], bt(e, 1));
      }
      var wh = q(function(t, e) {
        return dt(t) ? $n(t, bt(e, 1, dt, !0)) : [];
      }), xh = q(function(t, e) {
        var n = ie(e);
        return dt(n) && (n = i), dt(t) ? $n(t, bt(e, 1, dt, !0), O(n, 2)) : [];
      }), Th = q(function(t, e) {
        var n = ie(e);
        return dt(n) && (n = i), dt(t) ? $n(t, bt(e, 1, dt, !0), i, n) : [];
      });
      function Sh(t, e, n) {
        var r = t == null ? 0 : t.length;
        return r ? (e = n || e === i ? 1 : k(e), re(t, e < 0 ? 0 : e, r)) : [];
      }
      function bh(t, e, n) {
        var r = t == null ? 0 : t.length;
        return r ? (e = n || e === i ? 1 : k(e), e = r - e, re(t, 0, e < 0 ? 0 : e)) : [];
      }
      function Ah(t, e) {
        return t && t.length ? Tr(t, O(e, 3), !0, !0) : [];
      }
      function Ch(t, e) {
        return t && t.length ? Tr(t, O(e, 3), !0) : [];
      }
      function Ih(t, e, n, r) {
        var u = t == null ? 0 : t.length;
        return u ? (n && typeof n != "number" && Ot(t, e, n) && (n = 0, r = u), yl(t, e, n, r)) : [];
      }
      function sf(t, e, n) {
        var r = t == null ? 0 : t.length;
        if (!r)
          return -1;
        var u = n == null ? 0 : k(n);
        return u < 0 && (u = wt(r + u, 0)), er(t, O(e, 3), u);
      }
      function ff(t, e, n) {
        var r = t == null ? 0 : t.length;
        if (!r)
          return -1;
        var u = r - 1;
        return n !== i && (u = k(n), u = n < 0 ? wt(r + u, 0) : It(u, r - 1)), er(t, O(e, 3), u, !0);
      }
      function af(t) {
        var e = t == null ? 0 : t.length;
        return e ? bt(t, 1) : [];
      }
      function Dh(t) {
        var e = t == null ? 0 : t.length;
        return e ? bt(t, C) : [];
      }
      function Lh(t, e) {
        var n = t == null ? 0 : t.length;
        return n ? (e = e === i ? 1 : k(e), bt(t, e)) : [];
      }
      function Mh(t) {
        for (var e = -1, n = t == null ? 0 : t.length, r = {}; ++e < n; ) {
          var u = t[e];
          r[u[0]] = u[1];
        }
        return r;
      }
      function of(t) {
        return t && t.length ? t[0] : i;
      }
      function Bh(t, e, n) {
        var r = t == null ? 0 : t.length;
        if (!r)
          return -1;
        var u = n == null ? 0 : k(n);
        return u < 0 && (u = wt(r + u, 0)), on(t, e, u);
      }
      function Oh(t) {
        var e = t == null ? 0 : t.length;
        return e ? re(t, 0, -1) : [];
      }
      var Eh = q(function(t) {
        var e = at(t, Ri);
        return e.length && e[0] === t[0] ? bi(e) : [];
      }), Rh = q(function(t) {
        var e = ie(t), n = at(t, Ri);
        return e === ie(n) ? e = i : n.pop(), n.length && n[0] === t[0] ? bi(n, O(e, 2)) : [];
      }), Wh = q(function(t) {
        var e = ie(t), n = at(t, Ri);
        return e = typeof e == "function" ? e : i, e && n.pop(), n.length && n[0] === t[0] ? bi(n, i, e) : [];
      });
      function Ph(t, e) {
        return t == null ? "" : Oo.call(t, e);
      }
      function ie(t) {
        var e = t == null ? 0 : t.length;
        return e ? t[e - 1] : i;
      }
      function Yh(t, e, n) {
        var r = t == null ? 0 : t.length;
        if (!r)
          return -1;
        var u = r;
        return n !== i && (u = k(n), u = u < 0 ? wt(r + u, 0) : It(u, r - 1)), e === e ? po(t, e, u) : er(t, Uu, u, !0);
      }
      function Nh(t, e) {
        return t && t.length ? ys(t, k(e)) : i;
      }
      var $h = q(lf);
      function lf(t, e) {
        return t && t.length && e && e.length ? Di(t, e) : t;
      }
      function Hh(t, e, n) {
        return t && t.length && e && e.length ? Di(t, e, O(n, 2)) : t;
      }
      function Fh(t, e, n) {
        return t && t.length && e && e.length ? Di(t, e, i, n) : t;
      }
      var Uh = Ie(function(t, e) {
        var n = t == null ? 0 : t.length, r = wi(t, e);
        return Ts(t, at(e, function(u) {
          return De(u, n) ? +u : u;
        }).sort(Os)), r;
      });
      function Gh(t, e) {
        var n = [];
        if (!(t && t.length))
          return n;
        var r = -1, u = [], f = t.length;
        for (e = O(e, 3); ++r < f; ) {
          var a = t[r];
          e(a, r, t) && (n.push(a), u.push(r));
        }
        return Ts(t, u), n;
      }
      function Zi(t) {
        return t == null ? t : Po.call(t);
      }
      function kh(t, e, n) {
        var r = t == null ? 0 : t.length;
        return r ? (n && typeof n != "number" && Ot(t, e, n) ? (e = 0, n = r) : (e = e == null ? 0 : k(e), n = n === i ? r : k(n)), re(t, e, n)) : [];
      }
      function zh(t, e) {
        return xr(t, e);
      }
      function qh(t, e, n) {
        return Bi(t, e, O(n, 2));
      }
      function Kh(t, e) {
        var n = t == null ? 0 : t.length;
        if (n) {
          var r = xr(t, e);
          if (r < n && ce(t[r], e))
            return r;
        }
        return -1;
      }
      function Zh(t, e) {
        return xr(t, e, !0);
      }
      function Xh(t, e, n) {
        return Bi(t, e, O(n, 2), !0);
      }
      function Jh(t, e) {
        var n = t == null ? 0 : t.length;
        if (n) {
          var r = xr(t, e, !0) - 1;
          if (ce(t[r], e))
            return r;
        }
        return -1;
      }
      function Qh(t) {
        return t && t.length ? bs(t) : [];
      }
      function Vh(t, e) {
        return t && t.length ? bs(t, O(e, 2)) : [];
      }
      function jh(t) {
        var e = t == null ? 0 : t.length;
        return e ? re(t, 1, e) : [];
      }
      function tc(t, e, n) {
        return t && t.length ? (e = n || e === i ? 1 : k(e), re(t, 0, e < 0 ? 0 : e)) : [];
      }
      function ec(t, e, n) {
        var r = t == null ? 0 : t.length;
        return r ? (e = n || e === i ? 1 : k(e), e = r - e, re(t, e < 0 ? 0 : e, r)) : [];
      }
      function nc(t, e) {
        return t && t.length ? Tr(t, O(e, 3), !1, !0) : [];
      }
      function rc(t, e) {
        return t && t.length ? Tr(t, O(e, 3)) : [];
      }
      var ic = q(function(t) {
        return $e(bt(t, 1, dt, !0));
      }), uc = q(function(t) {
        var e = ie(t);
        return dt(e) && (e = i), $e(bt(t, 1, dt, !0), O(e, 2));
      }), sc = q(function(t) {
        var e = ie(t);
        return e = typeof e == "function" ? e : i, $e(bt(t, 1, dt, !0), i, e);
      });
      function fc(t) {
        return t && t.length ? $e(t) : [];
      }
      function ac(t, e) {
        return t && t.length ? $e(t, O(e, 2)) : [];
      }
      function oc(t, e) {
        return e = typeof e == "function" ? e : i, t && t.length ? $e(t, i, e) : [];
      }
      function Xi(t) {
        if (!(t && t.length))
          return [];
        var e = 0;
        return t = Re(t, function(n) {
          if (dt(n))
            return e = wt(n.length, e), !0;
        }), ci(e, function(n) {
          return at(t, oi(n));
        });
      }
      function hf(t, e) {
        if (!(t && t.length))
          return [];
        var n = Xi(t);
        return e == null ? n : at(n, function(r) {
          return kt(e, i, r);
        });
      }
      var lc = q(function(t, e) {
        return dt(t) ? $n(t, e) : [];
      }), hc = q(function(t) {
        return Ei(Re(t, dt));
      }), cc = q(function(t) {
        var e = ie(t);
        return dt(e) && (e = i), Ei(Re(t, dt), O(e, 2));
      }), dc = q(function(t) {
        var e = ie(t);
        return e = typeof e == "function" ? e : i, Ei(Re(t, dt), i, e);
      }), gc = q(Xi);
      function _c(t, e) {
        return Ds(t || [], e || [], Nn);
      }
      function pc(t, e) {
        return Ds(t || [], e || [], Un);
      }
      var vc = q(function(t) {
        var e = t.length, n = e > 1 ? t[e - 1] : i;
        return n = typeof n == "function" ? (t.pop(), n) : i, hf(t, n);
      });
      function cf(t) {
        var e = s(t);
        return e.__chain__ = !0, e;
      }
      function mc(t, e) {
        return e(t), t;
      }
      function Br(t, e) {
        return e(t);
      }
      var yc = Ie(function(t) {
        var e = t.length, n = e ? t[0] : 0, r = this.__wrapped__, u = function(f) {
          return wi(f, t);
        };
        return e > 1 || this.__actions__.length || !(r instanceof J) || !De(n) ? this.thru(u) : (r = r.slice(n, +n + (e ? 1 : 0)), r.__actions__.push({
          func: Br,
          args: [u],
          thisArg: i
        }), new ee(r, this.__chain__).thru(function(f) {
          return e && !f.length && f.push(i), f;
        }));
      });
      function wc() {
        return cf(this);
      }
      function xc() {
        return new ee(this.value(), this.__chain__);
      }
      function Tc() {
        this.__values__ === i && (this.__values__ = Cf(this.value()));
        var t = this.__index__ >= this.__values__.length, e = t ? i : this.__values__[this.__index__++];
        return { done: t, value: e };
      }
      function Sc() {
        return this;
      }
      function bc(t) {
        for (var e, n = this; n instanceof pr; ) {
          var r = uf(n);
          r.__index__ = 0, r.__values__ = i, e ? u.__wrapped__ = r : e = r;
          var u = r;
          n = n.__wrapped__;
        }
        return u.__wrapped__ = t, e;
      }
      function Ac() {
        var t = this.__wrapped__;
        if (t instanceof J) {
          var e = t;
          return this.__actions__.length && (e = new J(this)), e = e.reverse(), e.__actions__.push({
            func: Br,
            args: [Zi],
            thisArg: i
          }), new ee(e, this.__chain__);
        }
        return this.thru(Zi);
      }
      function Cc() {
        return Is(this.__wrapped__, this.__actions__);
      }
      var Ic = Sr(function(t, e, n) {
        nt.call(t, n) ? ++t[n] : Ae(t, n, 1);
      });
      function Dc(t, e, n) {
        var r = F(t) ? Hu : ml;
        return n && Ot(t, e, n) && (e = i), r(t, O(e, 3));
      }
      function Lc(t, e) {
        var n = F(t) ? Re : ls;
        return n(t, O(e, 3));
      }
      var Mc = Ns(sf), Bc = Ns(ff);
      function Oc(t, e) {
        return bt(Or(t, e), 1);
      }
      function Ec(t, e) {
        return bt(Or(t, e), C);
      }
      function Rc(t, e, n) {
        return n = n === i ? 1 : k(n), bt(Or(t, e), n);
      }
      function df(t, e) {
        var n = F(t) ? jt : Ne;
        return n(t, O(e, 3));
      }
      function gf(t, e) {
        var n = F(t) ? Va : os;
        return n(t, O(e, 3));
      }
      var Wc = Sr(function(t, e, n) {
        nt.call(t, n) ? t[n].push(e) : Ae(t, n, [e]);
      });
      function Pc(t, e, n, r) {
        t = Wt(t) ? t : xn(t), n = n && !r ? k(n) : 0;
        var u = t.length;
        return n < 0 && (n = wt(u + n, 0)), Yr(t) ? n <= u && t.indexOf(e, n) > -1 : !!u && on(t, e, n) > -1;
      }
      var Yc = q(function(t, e, n) {
        var r = -1, u = typeof e == "function", f = Wt(t) ? c(t.length) : [];
        return Ne(t, function(a) {
          f[++r] = u ? kt(e, a, n) : Hn(a, e, n);
        }), f;
      }), Nc = Sr(function(t, e, n) {
        Ae(t, n, e);
      });
      function Or(t, e) {
        var n = F(t) ? at : ps;
        return n(t, O(e, 3));
      }
      function $c(t, e, n, r) {
        return t == null ? [] : (F(e) || (e = e == null ? [] : [e]), n = r ? i : n, F(n) || (n = n == null ? [] : [n]), ws(t, e, n));
      }
      var Hc = Sr(function(t, e, n) {
        t[n ? 0 : 1].push(e);
      }, function() {
        return [[], []];
      });
      function Fc(t, e, n) {
        var r = F(t) ? fi : ku, u = arguments.length < 3;
        return r(t, O(e, 4), n, u, Ne);
      }
      function Uc(t, e, n) {
        var r = F(t) ? ja : ku, u = arguments.length < 3;
        return r(t, O(e, 4), n, u, os);
      }
      function Gc(t, e) {
        var n = F(t) ? Re : ls;
        return n(t, Wr(O(e, 3)));
      }
      function kc(t) {
        var e = F(t) ? us : Pl;
        return e(t);
      }
      function zc(t, e, n) {
        (n ? Ot(t, e, n) : e === i) ? e = 1 : e = k(e);
        var r = F(t) ? dl : Yl;
        return r(t, e);
      }
      function qc(t) {
        var e = F(t) ? gl : $l;
        return e(t);
      }
      function Kc(t) {
        if (t == null)
          return 0;
        if (Wt(t))
          return Yr(t) ? hn(t) : t.length;
        var e = Dt(t);
        return e == ae || e == oe ? t.size : Ci(t).length;
      }
      function Zc(t, e, n) {
        var r = F(t) ? ai : Hl;
        return n && Ot(t, e, n) && (e = i), r(t, O(e, 3));
      }
      var Xc = q(function(t, e) {
        if (t == null)
          return [];
        var n = e.length;
        return n > 1 && Ot(t, e[0], e[1]) ? e = [] : n > 2 && Ot(e[0], e[1], e[2]) && (e = [e[0]]), ws(t, bt(e, 1), []);
      }), Er = Lo || function() {
        return St.Date.now();
      };
      function Jc(t, e) {
        if (typeof e != "function")
          throw new te(D);
        return t = k(t), function() {
          if (--t < 1)
            return e.apply(this, arguments);
        };
      }
      function _f(t, e, n) {
        return e = n ? i : e, e = t && e == null ? t.length : e, Ce(t, Qt, i, i, i, i, e);
      }
      function pf(t, e) {
        var n;
        if (typeof e != "function")
          throw new te(D);
        return t = k(t), function() {
          return --t > 0 && (n = e.apply(this, arguments)), t <= 1 && (e = i), n;
        };
      }
      var Ji = q(function(t, e, n) {
        var r = At;
        if (n.length) {
          var u = Pe(n, yn(Ji));
          r |= Mt;
        }
        return Ce(t, r, e, n, u);
      }), vf = q(function(t, e, n) {
        var r = At | Oe;
        if (n.length) {
          var u = Pe(n, yn(vf));
          r |= Mt;
        }
        return Ce(e, r, t, n, u);
      });
      function mf(t, e, n) {
        e = n ? i : e;
        var r = Ce(t, Ht, i, i, i, i, i, e);
        return r.placeholder = mf.placeholder, r;
      }
      function yf(t, e, n) {
        e = n ? i : e;
        var r = Ce(t, qe, i, i, i, i, i, e);
        return r.placeholder = yf.placeholder, r;
      }
      function wf(t, e, n) {
        var r, u, f, a, o, h, p = 0, v = !1, m = !1, T = !0;
        if (typeof t != "function")
          throw new te(D);
        e = ue(e) || 0, lt(n) && (v = !!n.leading, m = "maxWait" in n, f = m ? wt(ue(n.maxWait) || 0, e) : f, T = "trailing" in n ? !!n.trailing : T);
        function I(gt) {
          var de = r, Be = u;
          return r = u = i, p = gt, a = t.apply(Be, de), a;
        }
        function E(gt) {
          return p = gt, o = zn(X, e), v ? I(gt) : a;
        }
        function z(gt) {
          var de = gt - h, Be = gt - p, $f = e - de;
          return m ? It($f, f - Be) : $f;
        }
        function R(gt) {
          var de = gt - h, Be = gt - p;
          return h === i || de >= e || de < 0 || m && Be >= f;
        }
        function X() {
          var gt = Er();
          if (R(gt))
            return Q(gt);
          o = zn(X, z(gt));
        }
        function Q(gt) {
          return o = i, T && r ? I(gt) : (r = u = i, a);
        }
        function Zt() {
          o !== i && Ls(o), p = 0, r = h = u = o = i;
        }
        function Et() {
          return o === i ? a : Q(Er());
        }
        function Xt() {
          var gt = Er(), de = R(gt);
          if (r = arguments, u = this, h = gt, de) {
            if (o === i)
              return E(h);
            if (m)
              return Ls(o), o = zn(X, e), I(h);
          }
          return o === i && (o = zn(X, e)), a;
        }
        return Xt.cancel = Zt, Xt.flush = Et, Xt;
      }
      var Qc = q(function(t, e) {
        return as(t, 1, e);
      }), Vc = q(function(t, e, n) {
        return as(t, ue(e) || 0, n);
      });
      function jc(t) {
        return Ce(t, Ee);
      }
      function Rr(t, e) {
        if (typeof t != "function" || e != null && typeof e != "function")
          throw new te(D);
        var n = function() {
          var r = arguments, u = e ? e.apply(this, r) : r[0], f = n.cache;
          if (f.has(u))
            return f.get(u);
          var a = t.apply(this, r);
          return n.cache = f.set(u, a) || f, a;
        };
        return n.cache = new (Rr.Cache || be)(), n;
      }
      Rr.Cache = be;
      function Wr(t) {
        if (typeof t != "function")
          throw new te(D);
        return function() {
          var e = arguments;
          switch (e.length) {
            case 0:
              return !t.call(this);
            case 1:
              return !t.call(this, e[0]);
            case 2:
              return !t.call(this, e[0], e[1]);
            case 3:
              return !t.call(this, e[0], e[1], e[2]);
          }
          return !t.apply(this, e);
        };
      }
      function td(t) {
        return pf(2, t);
      }
      var ed = Fl(function(t, e) {
        e = e.length == 1 && F(e[0]) ? at(e[0], zt(O())) : at(bt(e, 1), zt(O()));
        var n = e.length;
        return q(function(r) {
          for (var u = -1, f = It(r.length, n); ++u < f; )
            r[u] = e[u].call(this, r[u]);
          return kt(t, this, r);
        });
      }), Qi = q(function(t, e) {
        var n = Pe(e, yn(Qi));
        return Ce(t, Mt, i, e, n);
      }), xf = q(function(t, e) {
        var n = Pe(e, yn(xf));
        return Ce(t, Ft, i, e, n);
      }), nd = Ie(function(t, e) {
        return Ce(t, we, i, i, i, e);
      });
      function rd(t, e) {
        if (typeof t != "function")
          throw new te(D);
        return e = e === i ? e : k(e), q(t, e);
      }
      function id(t, e) {
        if (typeof t != "function")
          throw new te(D);
        return e = e == null ? 0 : wt(k(e), 0), q(function(n) {
          var r = n[e], u = Fe(n, 0, e);
          return r && We(u, r), kt(t, this, u);
        });
      }
      function ud(t, e, n) {
        var r = !0, u = !0;
        if (typeof t != "function")
          throw new te(D);
        return lt(n) && (r = "leading" in n ? !!n.leading : r, u = "trailing" in n ? !!n.trailing : u), wf(t, e, {
          leading: r,
          maxWait: e,
          trailing: u
        });
      }
      function sd(t) {
        return _f(t, 1);
      }
      function fd(t, e) {
        return Qi(Wi(e), t);
      }
      function ad() {
        if (!arguments.length)
          return [];
        var t = arguments[0];
        return F(t) ? t : [t];
      }
      function od(t) {
        return ne(t, _t);
      }
      function ld(t, e) {
        return e = typeof e == "function" ? e : i, ne(t, _t, e);
      }
      function hd(t) {
        return ne(t, G | _t);
      }
      function cd(t, e) {
        return e = typeof e == "function" ? e : i, ne(t, G | _t, e);
      }
      function dd(t, e) {
        return e == null || fs(t, e, Tt(e));
      }
      function ce(t, e) {
        return t === e || t !== t && e !== e;
      }
      var gd = Ir(Si), _d = Ir(function(t, e) {
        return t >= e;
      }), nn = ds(/* @__PURE__ */ function() {
        return arguments;
      }()) ? ds : function(t) {
        return ht(t) && nt.call(t, "callee") && !ju.call(t, "callee");
      }, F = c.isArray, pd = Ru ? zt(Ru) : bl;
      function Wt(t) {
        return t != null && Pr(t.length) && !Le(t);
      }
      function dt(t) {
        return ht(t) && Wt(t);
      }
      function vd(t) {
        return t === !0 || t === !1 || ht(t) && Bt(t) == fe;
      }
      var Ue = Bo || au, md = Wu ? zt(Wu) : Al;
      function yd(t) {
        return ht(t) && t.nodeType === 1 && !qn(t);
      }
      function wd(t) {
        if (t == null)
          return !0;
        if (Wt(t) && (F(t) || typeof t == "string" || typeof t.splice == "function" || Ue(t) || wn(t) || nn(t)))
          return !t.length;
        var e = Dt(t);
        if (e == ae || e == oe)
          return !t.size;
        if (kn(t))
          return !Ci(t).length;
        for (var n in t)
          if (nt.call(t, n))
            return !1;
        return !0;
      }
      function xd(t, e) {
        return Fn(t, e);
      }
      function Td(t, e, n) {
        n = typeof n == "function" ? n : i;
        var r = n ? n(t, e) : i;
        return r === i ? Fn(t, e, i, n) : !!r;
      }
      function Vi(t) {
        if (!ht(t))
          return !1;
        var e = Bt(t);
        return e == Gt || e == Ct || typeof t.message == "string" && typeof t.name == "string" && !qn(t);
      }
      function Sd(t) {
        return typeof t == "number" && es(t);
      }
      function Le(t) {
        if (!lt(t))
          return !1;
        var e = Bt(t);
        return e == _e || e == Ke || e == xe || e == qf;
      }
      function Tf(t) {
        return typeof t == "number" && t == k(t);
      }
      function Pr(t) {
        return typeof t == "number" && t > -1 && t % 1 == 0 && t <= x;
      }
      function lt(t) {
        var e = typeof t;
        return t != null && (e == "object" || e == "function");
      }
      function ht(t) {
        return t != null && typeof t == "object";
      }
      var Sf = Pu ? zt(Pu) : Il;
      function bd(t, e) {
        return t === e || Ai(t, e, Ui(e));
      }
      function Ad(t, e, n) {
        return n = typeof n == "function" ? n : i, Ai(t, e, Ui(e), n);
      }
      function Cd(t) {
        return bf(t) && t != +t;
      }
      function Id(t) {
        if (lh(t))
          throw new $(_);
        return gs(t);
      }
      function Dd(t) {
        return t === null;
      }
      function Ld(t) {
        return t == null;
      }
      function bf(t) {
        return typeof t == "number" || ht(t) && Bt(t) == In;
      }
      function qn(t) {
        if (!ht(t) || Bt(t) != Te)
          return !1;
        var e = or(t);
        if (e === null)
          return !0;
        var n = nt.call(e, "constructor") && e.constructor;
        return typeof n == "function" && n instanceof n && ur.call(n) == Ao;
      }
      var ji = Yu ? zt(Yu) : Dl;
      function Md(t) {
        return Tf(t) && t >= -x && t <= x;
      }
      var Af = Nu ? zt(Nu) : Ll;
      function Yr(t) {
        return typeof t == "string" || !F(t) && ht(t) && Bt(t) == Ln;
      }
      function Kt(t) {
        return typeof t == "symbol" || ht(t) && Bt(t) == Jn;
      }
      var wn = $u ? zt($u) : Ml;
      function Bd(t) {
        return t === i;
      }
      function Od(t) {
        return ht(t) && Dt(t) == Mn;
      }
      function Ed(t) {
        return ht(t) && Bt(t) == Zf;
      }
      var Rd = Ir(Ii), Wd = Ir(function(t, e) {
        return t <= e;
      });
      function Cf(t) {
        if (!t)
          return [];
        if (Wt(t))
          return Yr(t) ? le(t) : Rt(t);
        if (En && t[En])
          return co(t[En]());
        var e = Dt(t), n = e == ae ? gi : e == oe ? nr : xn;
        return n(t);
      }
      function Me(t) {
        if (!t)
          return t === 0 ? t : 0;
        if (t = ue(t), t === C || t === -C) {
          var e = t < 0 ? -1 : 1;
          return e * H;
        }
        return t === t ? t : 0;
      }
      function k(t) {
        var e = Me(t), n = e % 1;
        return e === e ? n ? e - n : e : 0;
      }
      function If(t) {
        return t ? Ve(k(t), 0, Z) : 0;
      }
      function ue(t) {
        if (typeof t == "number")
          return t;
        if (Kt(t))
          return N;
        if (lt(t)) {
          var e = typeof t.valueOf == "function" ? t.valueOf() : t;
          t = lt(e) ? e + "" : e;
        }
        if (typeof t != "string")
          return t === 0 ? t : +t;
        t = zu(t);
        var n = _a.test(t);
        return n || va.test(t) ? Xa(t.slice(2), n ? 2 : 8) : ga.test(t) ? N : +t;
      }
      function Df(t) {
        return ve(t, Pt(t));
      }
      function Pd(t) {
        return t ? Ve(k(t), -x, x) : t === 0 ? t : 0;
      }
      function et(t) {
        return t == null ? "" : qt(t);
      }
      var Yd = vn(function(t, e) {
        if (kn(e) || Wt(e)) {
          ve(e, Tt(e), t);
          return;
        }
        for (var n in e)
          nt.call(e, n) && Nn(t, n, e[n]);
      }), Lf = vn(function(t, e) {
        ve(e, Pt(e), t);
      }), Nr = vn(function(t, e, n, r) {
        ve(e, Pt(e), t, r);
      }), Nd = vn(function(t, e, n, r) {
        ve(e, Tt(e), t, r);
      }), $d = Ie(wi);
      function Hd(t, e) {
        var n = pn(t);
        return e == null ? n : ss(n, e);
      }
      var Fd = q(function(t, e) {
        t = rt(t);
        var n = -1, r = e.length, u = r > 2 ? e[2] : i;
        for (u && Ot(e[0], e[1], u) && (r = 1); ++n < r; )
          for (var f = e[n], a = Pt(f), o = -1, h = a.length; ++o < h; ) {
            var p = a[o], v = t[p];
            (v === i || ce(v, dn[p]) && !nt.call(t, p)) && (t[p] = f[p]);
          }
        return t;
      }), Ud = q(function(t) {
        return t.push(i, zs), kt(Mf, i, t);
      });
      function Gd(t, e) {
        return Fu(t, O(e, 3), pe);
      }
      function kd(t, e) {
        return Fu(t, O(e, 3), Ti);
      }
      function zd(t, e) {
        return t == null ? t : xi(t, O(e, 3), Pt);
      }
      function qd(t, e) {
        return t == null ? t : hs(t, O(e, 3), Pt);
      }
      function Kd(t, e) {
        return t && pe(t, O(e, 3));
      }
      function Zd(t, e) {
        return t && Ti(t, O(e, 3));
      }
      function Xd(t) {
        return t == null ? [] : yr(t, Tt(t));
      }
      function Jd(t) {
        return t == null ? [] : yr(t, Pt(t));
      }
      function tu(t, e, n) {
        var r = t == null ? i : je(t, e);
        return r === i ? n : r;
      }
      function Qd(t, e) {
        return t != null && Zs(t, e, wl);
      }
      function eu(t, e) {
        return t != null && Zs(t, e, xl);
      }
      var Vd = Hs(function(t, e, n) {
        e != null && typeof e.toString != "function" && (e = sr.call(e)), t[e] = n;
      }, ru(Yt)), jd = Hs(function(t, e, n) {
        e != null && typeof e.toString != "function" && (e = sr.call(e)), nt.call(t, e) ? t[e].push(n) : t[e] = [n];
      }, O), tg = q(Hn);
      function Tt(t) {
        return Wt(t) ? is(t) : Ci(t);
      }
      function Pt(t) {
        return Wt(t) ? is(t, !0) : Bl(t);
      }
      function eg(t, e) {
        var n = {};
        return e = O(e, 3), pe(t, function(r, u, f) {
          Ae(n, e(r, u, f), r);
        }), n;
      }
      function ng(t, e) {
        var n = {};
        return e = O(e, 3), pe(t, function(r, u, f) {
          Ae(n, u, e(r, u, f));
        }), n;
      }
      var rg = vn(function(t, e, n) {
        wr(t, e, n);
      }), Mf = vn(function(t, e, n, r) {
        wr(t, e, n, r);
      }), ig = Ie(function(t, e) {
        var n = {};
        if (t == null)
          return n;
        var r = !1;
        e = at(e, function(f) {
          return f = He(f, t), r || (r = f.length > 1), f;
        }), ve(t, Hi(t), n), r && (n = ne(n, G | Lt | _t, Vl));
        for (var u = e.length; u--; )
          Oi(n, e[u]);
        return n;
      });
      function ug(t, e) {
        return Bf(t, Wr(O(e)));
      }
      var sg = Ie(function(t, e) {
        return t == null ? {} : El(t, e);
      });
      function Bf(t, e) {
        if (t == null)
          return {};
        var n = at(Hi(t), function(r) {
          return [r];
        });
        return e = O(e), xs(t, n, function(r, u) {
          return e(r, u[0]);
        });
      }
      function fg(t, e, n) {
        e = He(e, t);
        var r = -1, u = e.length;
        for (u || (u = 1, t = i); ++r < u; ) {
          var f = t == null ? i : t[me(e[r])];
          f === i && (r = u, f = n), t = Le(f) ? f.call(t) : f;
        }
        return t;
      }
      function ag(t, e, n) {
        return t == null ? t : Un(t, e, n);
      }
      function og(t, e, n, r) {
        return r = typeof r == "function" ? r : i, t == null ? t : Un(t, e, n, r);
      }
      var Of = Gs(Tt), Ef = Gs(Pt);
      function lg(t, e, n) {
        var r = F(t), u = r || Ue(t) || wn(t);
        if (e = O(e, 4), n == null) {
          var f = t && t.constructor;
          u ? n = r ? new f() : [] : lt(t) ? n = Le(f) ? pn(or(t)) : {} : n = {};
        }
        return (u ? jt : pe)(t, function(a, o, h) {
          return e(n, a, o, h);
        }), n;
      }
      function hg(t, e) {
        return t == null ? !0 : Oi(t, e);
      }
      function cg(t, e, n) {
        return t == null ? t : Cs(t, e, Wi(n));
      }
      function dg(t, e, n, r) {
        return r = typeof r == "function" ? r : i, t == null ? t : Cs(t, e, Wi(n), r);
      }
      function xn(t) {
        return t == null ? [] : di(t, Tt(t));
      }
      function gg(t) {
        return t == null ? [] : di(t, Pt(t));
      }
      function _g(t, e, n) {
        return n === i && (n = e, e = i), n !== i && (n = ue(n), n = n === n ? n : 0), e !== i && (e = ue(e), e = e === e ? e : 0), Ve(ue(t), e, n);
      }
      function pg(t, e, n) {
        return e = Me(e), n === i ? (n = e, e = 0) : n = Me(n), t = ue(t), Tl(t, e, n);
      }
      function vg(t, e, n) {
        if (n && typeof n != "boolean" && Ot(t, e, n) && (e = n = i), n === i && (typeof e == "boolean" ? (n = e, e = i) : typeof t == "boolean" && (n = t, t = i)), t === i && e === i ? (t = 0, e = 1) : (t = Me(t), e === i ? (e = t, t = 0) : e = Me(e)), t > e) {
          var r = t;
          t = e, e = r;
        }
        if (n || t % 1 || e % 1) {
          var u = ns();
          return It(t + u * (e - t + Za("1e-" + ((u + "").length - 1))), e);
        }
        return Li(t, e);
      }
      var mg = mn(function(t, e, n) {
        return e = e.toLowerCase(), t + (n ? Rf(e) : e);
      });
      function Rf(t) {
        return nu(et(t).toLowerCase());
      }
      function Wf(t) {
        return t = et(t), t && t.replace(ya, fo).replace(Na, "");
      }
      function yg(t, e, n) {
        t = et(t), e = qt(e);
        var r = t.length;
        n = n === i ? r : Ve(k(n), 0, r);
        var u = n;
        return n -= e.length, n >= 0 && t.slice(n, u) == e;
      }
      function wg(t) {
        return t = et(t), t && jf.test(t) ? t.replace(hu, ao) : t;
      }
      function xg(t) {
        return t = et(t), t && ua.test(t) ? t.replace(Qr, "\\$&") : t;
      }
      var Tg = mn(function(t, e, n) {
        return t + (n ? "-" : "") + e.toLowerCase();
      }), Sg = mn(function(t, e, n) {
        return t + (n ? " " : "") + e.toLowerCase();
      }), bg = Ys("toLowerCase");
      function Ag(t, e, n) {
        t = et(t), e = k(e);
        var r = e ? hn(t) : 0;
        if (!e || r >= e)
          return t;
        var u = (e - r) / 2;
        return Cr(dr(u), n) + t + Cr(cr(u), n);
      }
      function Cg(t, e, n) {
        t = et(t), e = k(e);
        var r = e ? hn(t) : 0;
        return e && r < e ? t + Cr(e - r, n) : t;
      }
      function Ig(t, e, n) {
        t = et(t), e = k(e);
        var r = e ? hn(t) : 0;
        return e && r < e ? Cr(e - r, n) + t : t;
      }
      function Dg(t, e, n) {
        return n || e == null ? e = 0 : e && (e = +e), Wo(et(t).replace(Vr, ""), e || 0);
      }
      function Lg(t, e, n) {
        return (n ? Ot(t, e, n) : e === i) ? e = 1 : e = k(e), Mi(et(t), e);
      }
      function Mg() {
        var t = arguments, e = et(t[0]);
        return t.length < 3 ? e : e.replace(t[1], t[2]);
      }
      var Bg = mn(function(t, e, n) {
        return t + (n ? "_" : "") + e.toLowerCase();
      });
      function Og(t, e, n) {
        return n && typeof n != "number" && Ot(t, e, n) && (e = n = i), n = n === i ? Z : n >>> 0, n ? (t = et(t), t && (typeof e == "string" || e != null && !ji(e)) && (e = qt(e), !e && ln(t)) ? Fe(le(t), 0, n) : t.split(e, n)) : [];
      }
      var Eg = mn(function(t, e, n) {
        return t + (n ? " " : "") + nu(e);
      });
      function Rg(t, e, n) {
        return t = et(t), n = n == null ? 0 : Ve(k(n), 0, t.length), e = qt(e), t.slice(n, n + e.length) == e;
      }
      function Wg(t, e, n) {
        var r = s.templateSettings;
        n && Ot(t, e, n) && (e = i), t = et(t), e = Nr({}, e, r, ks);
        var u = Nr({}, e.imports, r.imports, ks), f = Tt(u), a = di(u, f), o, h, p = 0, v = e.interpolate || Qn, m = "__p += '", T = _i(
          (e.escape || Qn).source + "|" + v.source + "|" + (v === cu ? da : Qn).source + "|" + (e.evaluate || Qn).source + "|$",
          "g"
        ), I = "//# sourceURL=" + (nt.call(e, "sourceURL") ? (e.sourceURL + "").replace(/\s/g, " ") : "lodash.templateSources[" + ++Ga + "]") + `
`;
        t.replace(T, function(R, X, Q, Zt, Et, Xt) {
          return Q || (Q = Zt), m += t.slice(p, Xt).replace(wa, oo), X && (o = !0, m += `' +
__e(` + X + `) +
'`), Et && (h = !0, m += `';
` + Et + `;
__p += '`), Q && (m += `' +
((__t = (` + Q + `)) == null ? '' : __t) +
'`), p = Xt + R.length, R;
        }), m += `';
`;
        var E = nt.call(e, "variable") && e.variable;
        if (!E)
          m = `with (obj) {
` + m + `
}
`;
        else if (ha.test(E))
          throw new $(L);
        m = (h ? m.replace(Xf, "") : m).replace(Jf, "$1").replace(Qf, "$1;"), m = "function(" + (E || "obj") + `) {
` + (E ? "" : `obj || (obj = {});
`) + "var __t, __p = ''" + (o ? ", __e = _.escape" : "") + (h ? `, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
` : `;
`) + m + `return __p
}`;
        var z = Yf(function() {
          return V(f, I + "return " + m).apply(i, a);
        });
        if (z.source = m, Vi(z))
          throw z;
        return z;
      }
      function Pg(t) {
        return et(t).toLowerCase();
      }
      function Yg(t) {
        return et(t).toUpperCase();
      }
      function Ng(t, e, n) {
        if (t = et(t), t && (n || e === i))
          return zu(t);
        if (!t || !(e = qt(e)))
          return t;
        var r = le(t), u = le(e), f = qu(r, u), a = Ku(r, u) + 1;
        return Fe(r, f, a).join("");
      }
      function $g(t, e, n) {
        if (t = et(t), t && (n || e === i))
          return t.slice(0, Xu(t) + 1);
        if (!t || !(e = qt(e)))
          return t;
        var r = le(t), u = Ku(r, le(e)) + 1;
        return Fe(r, 0, u).join("");
      }
      function Hg(t, e, n) {
        if (t = et(t), t && (n || e === i))
          return t.replace(Vr, "");
        if (!t || !(e = qt(e)))
          return t;
        var r = le(t), u = qu(r, le(e));
        return Fe(r, u).join("");
      }
      function Fg(t, e) {
        var n = pt, r = tt;
        if (lt(e)) {
          var u = "separator" in e ? e.separator : u;
          n = "length" in e ? k(e.length) : n, r = "omission" in e ? qt(e.omission) : r;
        }
        t = et(t);
        var f = t.length;
        if (ln(t)) {
          var a = le(t);
          f = a.length;
        }
        if (n >= f)
          return t;
        var o = n - hn(r);
        if (o < 1)
          return r;
        var h = a ? Fe(a, 0, o).join("") : t.slice(0, o);
        if (u === i)
          return h + r;
        if (a && (o += h.length - o), ji(u)) {
          if (t.slice(o).search(u)) {
            var p, v = h;
            for (u.global || (u = _i(u.source, et(du.exec(u)) + "g")), u.lastIndex = 0; p = u.exec(v); )
              var m = p.index;
            h = h.slice(0, m === i ? o : m);
          }
        } else if (t.indexOf(qt(u), o) != o) {
          var T = h.lastIndexOf(u);
          T > -1 && (h = h.slice(0, T));
        }
        return h + r;
      }
      function Ug(t) {
        return t = et(t), t && Vf.test(t) ? t.replace(lu, vo) : t;
      }
      var Gg = mn(function(t, e, n) {
        return t + (n ? " " : "") + e.toUpperCase();
      }), nu = Ys("toUpperCase");
      function Pf(t, e, n) {
        return t = et(t), e = n ? i : e, e === i ? ho(t) ? wo(t) : no(t) : t.match(e) || [];
      }
      var Yf = q(function(t, e) {
        try {
          return kt(t, i, e);
        } catch (n) {
          return Vi(n) ? n : new $(n);
        }
      }), kg = Ie(function(t, e) {
        return jt(e, function(n) {
          n = me(n), Ae(t, n, Ji(t[n], t));
        }), t;
      });
      function zg(t) {
        var e = t == null ? 0 : t.length, n = O();
        return t = e ? at(t, function(r) {
          if (typeof r[1] != "function")
            throw new te(D);
          return [n(r[0]), r[1]];
        }) : [], q(function(r) {
          for (var u = -1; ++u < e; ) {
            var f = t[u];
            if (kt(f[0], this, r))
              return kt(f[1], this, r);
          }
        });
      }
      function qg(t) {
        return vl(ne(t, G));
      }
      function ru(t) {
        return function() {
          return t;
        };
      }
      function Kg(t, e) {
        return t == null || t !== t ? e : t;
      }
      var Zg = $s(), Xg = $s(!0);
      function Yt(t) {
        return t;
      }
      function iu(t) {
        return _s(typeof t == "function" ? t : ne(t, G));
      }
      function Jg(t) {
        return vs(ne(t, G));
      }
      function Qg(t, e) {
        return ms(t, ne(e, G));
      }
      var Vg = q(function(t, e) {
        return function(n) {
          return Hn(n, t, e);
        };
      }), jg = q(function(t, e) {
        return function(n) {
          return Hn(t, n, e);
        };
      });
      function uu(t, e, n) {
        var r = Tt(e), u = yr(e, r);
        n == null && !(lt(e) && (u.length || !r.length)) && (n = e, e = t, t = this, u = yr(e, Tt(e)));
        var f = !(lt(n) && "chain" in n) || !!n.chain, a = Le(t);
        return jt(u, function(o) {
          var h = e[o];
          t[o] = h, a && (t.prototype[o] = function() {
            var p = this.__chain__;
            if (f || p) {
              var v = t(this.__wrapped__), m = v.__actions__ = Rt(this.__actions__);
              return m.push({ func: h, args: arguments, thisArg: t }), v.__chain__ = p, v;
            }
            return h.apply(t, We([this.value()], arguments));
          });
        }), t;
      }
      function t0() {
        return St._ === this && (St._ = Co), this;
      }
      function su() {
      }
      function e0(t) {
        return t = k(t), q(function(e) {
          return ys(e, t);
        });
      }
      var n0 = Yi(at), r0 = Yi(Hu), i0 = Yi(ai);
      function Nf(t) {
        return ki(t) ? oi(me(t)) : Rl(t);
      }
      function u0(t) {
        return function(e) {
          return t == null ? i : je(t, e);
        };
      }
      var s0 = Fs(), f0 = Fs(!0);
      function fu() {
        return [];
      }
      function au() {
        return !1;
      }
      function a0() {
        return {};
      }
      function o0() {
        return "";
      }
      function l0() {
        return !0;
      }
      function h0(t, e) {
        if (t = k(t), t < 1 || t > x)
          return [];
        var n = Z, r = It(t, Z);
        e = O(e), t -= Z;
        for (var u = ci(r, e); ++n < t; )
          e(n);
        return u;
      }
      function c0(t) {
        return F(t) ? at(t, me) : Kt(t) ? [t] : Rt(rf(et(t)));
      }
      function d0(t) {
        var e = ++bo;
        return et(t) + e;
      }
      var g0 = Ar(function(t, e) {
        return t + e;
      }, 0), _0 = Ni("ceil"), p0 = Ar(function(t, e) {
        return t / e;
      }, 1), v0 = Ni("floor");
      function m0(t) {
        return t && t.length ? mr(t, Yt, Si) : i;
      }
      function y0(t, e) {
        return t && t.length ? mr(t, O(e, 2), Si) : i;
      }
      function w0(t) {
        return Gu(t, Yt);
      }
      function x0(t, e) {
        return Gu(t, O(e, 2));
      }
      function T0(t) {
        return t && t.length ? mr(t, Yt, Ii) : i;
      }
      function S0(t, e) {
        return t && t.length ? mr(t, O(e, 2), Ii) : i;
      }
      var b0 = Ar(function(t, e) {
        return t * e;
      }, 1), A0 = Ni("round"), C0 = Ar(function(t, e) {
        return t - e;
      }, 0);
      function I0(t) {
        return t && t.length ? hi(t, Yt) : 0;
      }
      function D0(t, e) {
        return t && t.length ? hi(t, O(e, 2)) : 0;
      }
      return s.after = Jc, s.ary = _f, s.assign = Yd, s.assignIn = Lf, s.assignInWith = Nr, s.assignWith = Nd, s.at = $d, s.before = pf, s.bind = Ji, s.bindAll = kg, s.bindKey = vf, s.castArray = ad, s.chain = cf, s.chunk = vh, s.compact = mh, s.concat = yh, s.cond = zg, s.conforms = qg, s.constant = ru, s.countBy = Ic, s.create = Hd, s.curry = mf, s.curryRight = yf, s.debounce = wf, s.defaults = Fd, s.defaultsDeep = Ud, s.defer = Qc, s.delay = Vc, s.difference = wh, s.differenceBy = xh, s.differenceWith = Th, s.drop = Sh, s.dropRight = bh, s.dropRightWhile = Ah, s.dropWhile = Ch, s.fill = Ih, s.filter = Lc, s.flatMap = Oc, s.flatMapDeep = Ec, s.flatMapDepth = Rc, s.flatten = af, s.flattenDeep = Dh, s.flattenDepth = Lh, s.flip = jc, s.flow = Zg, s.flowRight = Xg, s.fromPairs = Mh, s.functions = Xd, s.functionsIn = Jd, s.groupBy = Wc, s.initial = Oh, s.intersection = Eh, s.intersectionBy = Rh, s.intersectionWith = Wh, s.invert = Vd, s.invertBy = jd, s.invokeMap = Yc, s.iteratee = iu, s.keyBy = Nc, s.keys = Tt, s.keysIn = Pt, s.map = Or, s.mapKeys = eg, s.mapValues = ng, s.matches = Jg, s.matchesProperty = Qg, s.memoize = Rr, s.merge = rg, s.mergeWith = Mf, s.method = Vg, s.methodOf = jg, s.mixin = uu, s.negate = Wr, s.nthArg = e0, s.omit = ig, s.omitBy = ug, s.once = td, s.orderBy = $c, s.over = n0, s.overArgs = ed, s.overEvery = r0, s.overSome = i0, s.partial = Qi, s.partialRight = xf, s.partition = Hc, s.pick = sg, s.pickBy = Bf, s.property = Nf, s.propertyOf = u0, s.pull = $h, s.pullAll = lf, s.pullAllBy = Hh, s.pullAllWith = Fh, s.pullAt = Uh, s.range = s0, s.rangeRight = f0, s.rearg = nd, s.reject = Gc, s.remove = Gh, s.rest = rd, s.reverse = Zi, s.sampleSize = zc, s.set = ag, s.setWith = og, s.shuffle = qc, s.slice = kh, s.sortBy = Xc, s.sortedUniq = Qh, s.sortedUniqBy = Vh, s.split = Og, s.spread = id, s.tail = jh, s.take = tc, s.takeRight = ec, s.takeRightWhile = nc, s.takeWhile = rc, s.tap = mc, s.throttle = ud, s.thru = Br, s.toArray = Cf, s.toPairs = Of, s.toPairsIn = Ef, s.toPath = c0, s.toPlainObject = Df, s.transform = lg, s.unary = sd, s.union = ic, s.unionBy = uc, s.unionWith = sc, s.uniq = fc, s.uniqBy = ac, s.uniqWith = oc, s.unset = hg, s.unzip = Xi, s.unzipWith = hf, s.update = cg, s.updateWith = dg, s.values = xn, s.valuesIn = gg, s.without = lc, s.words = Pf, s.wrap = fd, s.xor = hc, s.xorBy = cc, s.xorWith = dc, s.zip = gc, s.zipObject = _c, s.zipObjectDeep = pc, s.zipWith = vc, s.entries = Of, s.entriesIn = Ef, s.extend = Lf, s.extendWith = Nr, uu(s, s), s.add = g0, s.attempt = Yf, s.camelCase = mg, s.capitalize = Rf, s.ceil = _0, s.clamp = _g, s.clone = od, s.cloneDeep = hd, s.cloneDeepWith = cd, s.cloneWith = ld, s.conformsTo = dd, s.deburr = Wf, s.defaultTo = Kg, s.divide = p0, s.endsWith = yg, s.eq = ce, s.escape = wg, s.escapeRegExp = xg, s.every = Dc, s.find = Mc, s.findIndex = sf, s.findKey = Gd, s.findLast = Bc, s.findLastIndex = ff, s.findLastKey = kd, s.floor = v0, s.forEach = df, s.forEachRight = gf, s.forIn = zd, s.forInRight = qd, s.forOwn = Kd, s.forOwnRight = Zd, s.get = tu, s.gt = gd, s.gte = _d, s.has = Qd, s.hasIn = eu, s.head = of, s.identity = Yt, s.includes = Pc, s.indexOf = Bh, s.inRange = pg, s.invoke = tg, s.isArguments = nn, s.isArray = F, s.isArrayBuffer = pd, s.isArrayLike = Wt, s.isArrayLikeObject = dt, s.isBoolean = vd, s.isBuffer = Ue, s.isDate = md, s.isElement = yd, s.isEmpty = wd, s.isEqual = xd, s.isEqualWith = Td, s.isError = Vi, s.isFinite = Sd, s.isFunction = Le, s.isInteger = Tf, s.isLength = Pr, s.isMap = Sf, s.isMatch = bd, s.isMatchWith = Ad, s.isNaN = Cd, s.isNative = Id, s.isNil = Ld, s.isNull = Dd, s.isNumber = bf, s.isObject = lt, s.isObjectLike = ht, s.isPlainObject = qn, s.isRegExp = ji, s.isSafeInteger = Md, s.isSet = Af, s.isString = Yr, s.isSymbol = Kt, s.isTypedArray = wn, s.isUndefined = Bd, s.isWeakMap = Od, s.isWeakSet = Ed, s.join = Ph, s.kebabCase = Tg, s.last = ie, s.lastIndexOf = Yh, s.lowerCase = Sg, s.lowerFirst = bg, s.lt = Rd, s.lte = Wd, s.max = m0, s.maxBy = y0, s.mean = w0, s.meanBy = x0, s.min = T0, s.minBy = S0, s.stubArray = fu, s.stubFalse = au, s.stubObject = a0, s.stubString = o0, s.stubTrue = l0, s.multiply = b0, s.nth = Nh, s.noConflict = t0, s.noop = su, s.now = Er, s.pad = Ag, s.padEnd = Cg, s.padStart = Ig, s.parseInt = Dg, s.random = vg, s.reduce = Fc, s.reduceRight = Uc, s.repeat = Lg, s.replace = Mg, s.result = fg, s.round = A0, s.runInContext = l, s.sample = kc, s.size = Kc, s.snakeCase = Bg, s.some = Zc, s.sortedIndex = zh, s.sortedIndexBy = qh, s.sortedIndexOf = Kh, s.sortedLastIndex = Zh, s.sortedLastIndexBy = Xh, s.sortedLastIndexOf = Jh, s.startCase = Eg, s.startsWith = Rg, s.subtract = C0, s.sum = I0, s.sumBy = D0, s.template = Wg, s.times = h0, s.toFinite = Me, s.toInteger = k, s.toLength = If, s.toLower = Pg, s.toNumber = ue, s.toSafeInteger = Pd, s.toString = et, s.toUpper = Yg, s.trim = Ng, s.trimEnd = $g, s.trimStart = Hg, s.truncate = Fg, s.unescape = Ug, s.uniqueId = d0, s.upperCase = Gg, s.upperFirst = nu, s.each = df, s.eachRight = gf, s.first = of, uu(s, function() {
        var t = {};
        return pe(s, function(e, n) {
          nt.call(s.prototype, n) || (t[n] = e);
        }), t;
      }(), { chain: !1 }), s.VERSION = M, jt(["bind", "bindKey", "curry", "curryRight", "partial", "partialRight"], function(t) {
        s[t].placeholder = s;
      }), jt(["drop", "take"], function(t, e) {
        J.prototype[t] = function(n) {
          n = n === i ? 1 : wt(k(n), 0);
          var r = this.__filtered__ && !e ? new J(this) : this.clone();
          return r.__filtered__ ? r.__takeCount__ = It(n, r.__takeCount__) : r.__views__.push({
            size: It(n, Z),
            type: t + (r.__dir__ < 0 ? "Right" : "")
          }), r;
        }, J.prototype[t + "Right"] = function(n) {
          return this.reverse()[t](n).reverse();
        };
      }), jt(["filter", "map", "takeWhile"], function(t, e) {
        var n = e + 1, r = n == P || n == S;
        J.prototype[t] = function(u) {
          var f = this.clone();
          return f.__iteratees__.push({
            iteratee: O(u, 3),
            type: n
          }), f.__filtered__ = f.__filtered__ || r, f;
        };
      }), jt(["head", "last"], function(t, e) {
        var n = "take" + (e ? "Right" : "");
        J.prototype[t] = function() {
          return this[n](1).value()[0];
        };
      }), jt(["initial", "tail"], function(t, e) {
        var n = "drop" + (e ? "" : "Right");
        J.prototype[t] = function() {
          return this.__filtered__ ? new J(this) : this[n](1);
        };
      }), J.prototype.compact = function() {
        return this.filter(Yt);
      }, J.prototype.find = function(t) {
        return this.filter(t).head();
      }, J.prototype.findLast = function(t) {
        return this.reverse().find(t);
      }, J.prototype.invokeMap = q(function(t, e) {
        return typeof t == "function" ? new J(this) : this.map(function(n) {
          return Hn(n, t, e);
        });
      }), J.prototype.reject = function(t) {
        return this.filter(Wr(O(t)));
      }, J.prototype.slice = function(t, e) {
        t = k(t);
        var n = this;
        return n.__filtered__ && (t > 0 || e < 0) ? new J(n) : (t < 0 ? n = n.takeRight(-t) : t && (n = n.drop(t)), e !== i && (e = k(e), n = e < 0 ? n.dropRight(-e) : n.take(e - t)), n);
      }, J.prototype.takeRightWhile = function(t) {
        return this.reverse().takeWhile(t).reverse();
      }, J.prototype.toArray = function() {
        return this.take(Z);
      }, pe(J.prototype, function(t, e) {
        var n = /^(?:filter|find|map|reject)|While$/.test(e), r = /^(?:head|last)$/.test(e), u = s[r ? "take" + (e == "last" ? "Right" : "") : e], f = r || /^find/.test(e);
        u && (s.prototype[e] = function() {
          var a = this.__wrapped__, o = r ? [1] : arguments, h = a instanceof J, p = o[0], v = h || F(a), m = function(X) {
            var Q = u.apply(s, We([X], o));
            return r && T ? Q[0] : Q;
          };
          v && n && typeof p == "function" && p.length != 1 && (h = v = !1);
          var T = this.__chain__, I = !!this.__actions__.length, E = f && !T, z = h && !I;
          if (!f && v) {
            a = z ? a : new J(this);
            var R = t.apply(a, o);
            return R.__actions__.push({ func: Br, args: [m], thisArg: i }), new ee(R, T);
          }
          return E && z ? t.apply(this, o) : (R = this.thru(m), E ? r ? R.value()[0] : R.value() : R);
        });
      }), jt(["pop", "push", "shift", "sort", "splice", "unshift"], function(t) {
        var e = rr[t], n = /^(?:push|sort|unshift)$/.test(t) ? "tap" : "thru", r = /^(?:pop|shift)$/.test(t);
        s.prototype[t] = function() {
          var u = arguments;
          if (r && !this.__chain__) {
            var f = this.value();
            return e.apply(F(f) ? f : [], u);
          }
          return this[n](function(a) {
            return e.apply(F(a) ? a : [], u);
          });
        };
      }), pe(J.prototype, function(t, e) {
        var n = s[e];
        if (n) {
          var r = n.name + "";
          nt.call(_n, r) || (_n[r] = []), _n[r].push({ name: e, func: n });
        }
      }), _n[br(i, Oe).name] = [{
        name: "wrapper",
        func: i
      }], J.prototype.clone = Uo, J.prototype.reverse = Go, J.prototype.value = ko, s.prototype.at = yc, s.prototype.chain = wc, s.prototype.commit = xc, s.prototype.next = Tc, s.prototype.plant = bc, s.prototype.reverse = Ac, s.prototype.toJSON = s.prototype.valueOf = s.prototype.value = Cc, s.prototype.first = s.prototype.head, En && (s.prototype[En] = Sc), s;
    }, cn = xo();
    Ze ? ((Ze.exports = cn)._ = cn, ii._ = cn) : St._ = cn;
  }).call(Sn);
})(Fr, Fr.exports);
var z0 = Fr.exports;
const q0 = /* @__PURE__ */ Uf(z0), K0 = [
  {
    status: "finish",
    text: "已完成"
  },
  {
    status: "finishOvertime",
    text: "已完成"
  },
  {
    status: "overtime",
    text: "已超时"
  },
  {
    status: "progress",
    text: "进行中"
  },
  {
    status: "wait",
    text: "待接受"
  }
], Z0 = (d, y) => {
  const i = new Date(d.slice(0, 8)), M = new Date(y.slice(0, 8)), w = [];
  for (; i <= M; )
    w.push(it(i).format("YYYY-MM")), i.setMonth(i.getMonth() + 1);
  return w;
}, X0 = (d, y, i) => {
  const M = new Date(d), w = i === "day" ? new Date(y) : new Date(new Date(y).getTime() + 864e5 * 30), _ = M, D = [];
  if (i === "day") {
    const L = Z0(d, y);
    L.forEach((W, B) => {
      const U = Number(W.split("-")[0]), G = Number(W.split("-")[1]);
      B === 0 ? D.push({
        year: `${U}-${G}`,
        length: it(d).endOf("month").date() - it(d).date() + 1
      }) : B === L.length - 1 ? D.push({
        year: `${U}-${G}`,
        length: new Date(y).getDate()
      }) : D.push({
        year: `${U}-${G}`,
        length: new Date(U, G, 0).getDate()
      });
    });
  } else if (i === "month") {
    const L = [];
    for (; _ <= w; )
      L.push(it(_).format("YYYY-MM")), _.setMonth(_.getMonth() + 1);
    L.forEach((W) => {
      const B = Number(W.split("-")[0]), U = Number(W.split("-")[1]);
      D.push({
        year: `${B}-${U}`,
        length: new Date(B, U, 0).getDate()
      });
    });
  }
  return D;
}, J0 = (d, y) => {
  const i = it(d), M = it(y), w = [];
  for (let _ = i; _.isBefore(M); _ = _.add(1, "day"))
    w.push(_.format("YYYY-MM-DD"));
  return w.push(y), w;
}, Tn = (d, y) => d ? (new Date(d).getTime() - new Date(y).getTime()) / 1e3 / 3600 : ((/* @__PURE__ */ new Date()).getTime() - new Date(y).getTime()) / 1e3 / 3600, Q0 = q0.debounce;
function $r() {
  let d = "";
  const y = "0123456789abcdef";
  for (let i = 0; i < 36; i++)
    if (i === 8 || i === 13 || i === 18 || i === 23)
      d += "-";
    else if (i === 14)
      d += "4";
    else {
      const M = Math.floor(Math.random() * 16);
      d += y[i === 19 ? M & 3 | 8 : M];
    }
  return d;
}
const V0 = (d) => {
  const y = [];
  return d.forEach((i, M) => {
    M > 0 && y.push({
      ...i,
      ganttId: $r(),
      isParent: !0,
      isEmpty: !1,
      parentIsEmpty: !0,
      height: 10,
      left: 0,
      width: 0,
      progress: 0
    }), y.push({
      ...i,
      ganttId: $r(),
      isParent: !0,
      height: 40,
      isEmpty: !1,
      parentIsEmpty: !1,
      left: 0,
      width: 0,
      progress: 0
    }), i.children && i.children.forEach((w, _) => {
      _ === 0 && y.push({
        ...w,
        ganttId: $r(),
        isParent: !1,
        parentIsEmpty: !1,
        isEmpty: !0,
        height: 15,
        left: 0,
        width: 0,
        progress: 0
      }), y.push({
        ...w,
        ganttId: $r(),
        parentIsEmpty: !1,
        height: 30,
        isParent: !1,
        isEmpty: !1,
        left: 0,
        width: 0,
        progress: 0
      });
    });
  }), y;
};
function j0() {
  const d = document.createElement("div");
  d.style.position = "absolute", d.style.visibility = "hidden", d.style.overflow = "scroll", d.style.width = "100px", d.style.height = "100px", document.body.appendChild(d);
  const y = 100 - d.clientWidth;
  return document.body.removeChild(d), y;
}
const t_ = {
  name: "HelpLine",
  props: {
    item: {
      type: Object,
      default: () => ({})
    },
    ganttProgressBarId: {
      type: String,
      default: ""
    }
  },
  data() {
    return {
      rect: {
        top: 0,
        left: 0,
        bottom: 0,
        height: 0
      }
    };
  },
  mounted() {
    const d = document.getElementById("gantt-right-body-content"), y = document.getElementById(
      this.item.ganttProgressBarId
    );
    if (d && y) {
      const w = d.getBoundingClientRect().top - y.getBoundingClientRect().top;
      this.rect.top = w - 1, this.rect.height = d.clientHeight || 0;
    }
    const i = document.getElementsByClassName("progressBar");
    let M = `width:${this.item.width + 1}px;background:var(--${this.item.status === "overtime" ? "progress" : this.item.status}Color)`;
    document.getElementById("top-time-width").innerHTML = `
    <div class="top-time-width-item" style="left:${this.item.left}px;">
      <div class="top-time-width-item-child" style="${M}"></div>
      ${(this.item.status === "finishOvertime" || this.item.status === "overtime") && this.item.overtimeWidth ? `<div style="width:${this.item.overtimeWidth}px; background:var(--overtimeColor)"></div>` : ""}
    </div>`;
    for (let w = 0; w < i.length; w++) {
      const _ = i[w];
      _.id != this.ganttProgressBarId && _.classList.add("gantt-animation");
    }
  },
  unmounted() {
    const d = document.getElementsByClassName("progressBar");
    for (let y = 0; y < d.length; y++)
      d[y].classList.remove("gantt-animation");
    document.getElementById("top-time-width").innerHTML = "";
  }
};
function e_(d, y, i, M, w, _) {
  return K(), j(Ge, null, [
    Y("div", {
      class: ge(`helpLine-line helpLine-line-${i.item.status}`),
      style: st({
        top: w.rect.top + "px",
        left: i.item.left + "px",
        height: w.rect.height + "px"
      })
    }, null, 6),
    Y("div", {
      class: ge(`helpLine-line helpLine-line-${i.item.status}`),
      style: st({
        left: i.item.left + i.item.width + "px",
        top: w.rect.top + "px",
        height: w.rect.height + "px"
      })
    }, null, 6),
    (i.item.status === "finishOvertime" || i.item.status === "overtime") && i.item.overtimeWidth ? (K(), j("div", {
      key: 0,
      class: ge(`helpLine-line helpLine-line-${i.item.status}`),
      style: st({
        top: w.rect.top + "px",
        borderColor: "#f54040",
        left: i.item.left + w.rect.left + i.item.width + i.item.overtimeWidth + "px",
        height: w.rect.height + "px"
      })
    }, null, 6)) : ze("", !0)
  ], 64);
}
const kf = /* @__PURE__ */ Jt(t_, [["render", e_]]), n_ = {
  title: "完成",
  props: {
    status: {
      type: [String, Number],
      default: ""
    },
    width: {
      type: [String, Number],
      default: "14"
    },
    height: {
      type: [String, Number],
      default: "14"
    },
    color: {
      type: String,
      default: "#ffffff"
    }
  }
}, r_ = ["width", "height"], i_ = ["fill"], u_ = ["fill"];
function s_(d, y, i, M, w, _) {
  return K(), j("svg", {
    class: "icon-svg",
    viewBox: "0 0 1024 1024",
    xmlns: "http://www.w3.org/2000/svg",
    width: i.width,
    height: i.height
  }, [
    Y("path", {
      d: "M460.8 694.044444L312.888889 546.133333c-2.844444-2.844444-2.844444-11.377778 0-14.222222l28.444444-28.444444c2.844444-2.844444 8.533333-2.844444 11.377778 0l108.088889 108.088889 247.466667-219.022223c5.688889-5.688889 11.377778-2.844444 17.066666 0l22.755556 25.6c5.688889 5.688889 5.688889 14.222222 0 19.911111l-287.288889 256z",
      fill: i.color
    }, null, 8, i_),
    Y("path", {
      d: "M512 56.888889c250.311111 0 455.111111 204.8 455.111111 455.111111s-204.8 455.111111-455.111111 455.111111S56.888889 762.311111 56.888889 512 261.688889 56.888889 512 56.888889m0-56.888889C230.4 0 0 230.4 0 512s230.4 512 512 512 512-230.4 512-512S793.6 0 512 0z",
      fill: i.color
    }, null, 8, u_)
  ], 8, r_);
}
const f_ = /* @__PURE__ */ Jt(n_, [["render", s_]]), a_ = {
  title: "超时",
  props: {
    status: {
      type: [String, Number],
      default: ""
    },
    width: {
      type: [String, Number],
      default: "14"
    },
    height: {
      type: [String, Number],
      default: "14"
    },
    color: {
      type: String,
      default: "#ffffff"
    }
  }
}, o_ = ["width", "height"], l_ = ["fill"], h_ = ["fill"], c_ = ["fill"];
function d_(d, y, i, M, w, _) {
  return K(), j("svg", {
    class: "icon-svg",
    viewBox: "0 0 1024 1024",
    xmlns: "http://www.w3.org/2000/svg",
    width: i.width,
    height: i.height
  }, [
    Y("path", {
      d: "M512 948c-58.8 0-115.9-11.5-169.7-34.3-51.9-22-98.5-53.4-138.6-93.4-40-40-71.5-86.7-93.4-138.6C87.5 628 76 570.8 76 512c0-58.8 11.5-115.9 34.3-169.7 22-51.9 53.4-98.5 93.4-138.6s86.7-71.5 138.6-93.4C396.1 87.5 453.2 76 512 76c58.8 0 116 11.5 169.7 34.3 51.9 22 98.5 53.4 138.6 93.4 40 40 71.5 86.7 93.4 138.6C936.5 396.1 948 453.2 948 512c0 58.8-11.5 116-34.3 169.7-22 51.9-53.4 98.5-93.4 138.6-40 40-86.7 71.5-138.6 93.4C628 936.5 570.8 948 512 948z m0-820c-211.7 0-384 172.3-384 384s172.3 384 384 384 384-172.3 384-384-172.3-384-384-384z",
      fill: i.color
    }, null, 8, l_),
    Y("path", {
      d: "M512 616c-14.4 0-26-11.6-26-26V322c0-14.4 11.6-26 26-26s26 11.6 26 26v268c0 14.4-11.6 26-26 26z",
      fill: i.color
    }, null, 8, h_),
    Y("path", {
      d: "M512 692m-36 0a36 36 0 1 0 72 0 36 36 0 1 0-72 0Z",
      fill: i.color
    }, null, 8, c_)
  ], 8, o_);
}
const g_ = /* @__PURE__ */ Jt(a_, [["render", d_]]), __ = {
  components: {
    IconComplete: f_,
    IconTimeout: g_
  },
  props: {
    status: {
      type: [String, Number],
      default: ""
    }
  }
};
function p_(d, y, i, M, w, _) {
  const D = Nt("IconComplete"), L = Nt("IconTimeout");
  return i.status === "finish" ? (K(), ke(D, { key: 0 })) : i.status === "overtime" ? (K(), ke(L, { key: 1 })) : ze("", !0);
}
const v_ = /* @__PURE__ */ Jt(__, [["render", p_]]), m_ = {
  components: {
    HelpLine: kf,
    StatusIcon: v_
  },
  props: {
    item: {
      type: Object,
      default: () => ({})
    },
    index: {
      type: Number,
      default: -1
    },
    showLine: {
      type: Boolean,
      default: !1
    },
    statusList: {
      type: Array,
      default: () => []
    }
  },
  emits: ["onClickText", "onClickNode"],
  computed: {
    activeWidthNum() {
      return this.item.width * this.item.progress;
    },
    // 是否显示名称
    isShowName() {
      return this.item.width - this.progressTextWidth >= this.ganttNameSeatWidth;
    }
  },
  data() {
    return {
      progressTextWidth: 50,
      ganttProgressBarId: "",
      ganttNameSeatWidth: 0
    };
  },
  mounted() {
    this.$nextTick(() => {
      let d = this.$refs.GanttNameSeat.offsetWidth;
      this.ganttNameSeatWidth = d || 0;
    });
  },
  methods: {
    handleMouseenter() {
      this.ganttProgressBarId = `gantt-progressBar-Id${this.index}`;
    },
    handleMouseleave() {
      this.ganttProgressBarId = "";
    },
    handleClickText() {
      this.$emit("onClickText", this.item);
    },
    onClickNode() {
      this.$emit("onClickNode", this.item);
    }
  }
}, y_ = { class: "gantt-right-body-cell gantt-right-body-cell-isParent-true" }, w_ = ["id"], x_ = { class: "progressBar-box" }, T_ = { key: 1 }, S_ = { key: 1 };
function b_(d, y, i, M, w, _) {
  const D = Nt("StatusIcon"), L = Nt("HelpLine");
  return K(), j("div", y_, [
    Y("span", {
      class: "gantt-name-seat",
      ref: "GanttNameSeat"
    }, un(i.item.name), 513),
    Y("div", {
      onMouseenter: y[1] || (y[1] = (...W) => _.handleMouseenter && _.handleMouseenter(...W)),
      onMouseleave: y[2] || (y[2] = (...W) => _.handleMouseleave && _.handleMouseleave(...W)),
      id: `gantt-progressBar-Id${i.index}`,
      class: ge(`ss1 progressBar progressBar-${i.item.status}`),
      style: st({
        left: i.item.left + "px"
      }),
      onClick: y[3] || (y[3] = (...W) => _.onClickNode && _.onClickNode(...W))
    }, [
      Y("div", x_, [
        y[4] || (y[4] = Y("div", { class: "progressBar-content" }, null, -1)),
        y[5] || (y[5] = Y("div", { class: "progressBar-render" }, null, -1)),
        Y("div", {
          class: "progressBar-default",
          style: st({
            width: i.item.width + "px"
          })
        }, [
          Y("div", {
            class: "progressBar-active",
            style: st({
              width: i.item.schedule + "%"
            })
          }, null, 4)
        ], 4)
      ]),
      Y("div", {
        class: ge(["gantt-name", { "is-out": !_.isShowName }])
      }, [
        d.$slots.name ? ye(d.$slots, "name", Cn(Kn({ key: 0 }, {
          ...i.item,
          row: i.item,
          width: i.item.width,
          activeWidth: i.item.width * i.item.progress,
          surplusWidth: i.item.width - i.item.width * i.item.progress,
          overflowWidth: i.item.overtimeWidth
        }))) : (K(), j("span", T_, un(i.item.name), 1))
      ], 2),
      Y("div", {
        class: ge([
          "gantt-schedule",
          { "is-out": i.item.width <= 30 }
        ]),
        onClick: y[0] || (y[0] = (...W) => _.handleClickText && _.handleClickText(...W))
      }, [
        d.$slots.schedule ? ye(d.$slots, "schedule", Cn(Kn({ key: 0 }, {
          ...i.item,
          row: i.item,
          width: i.item.width,
          activeWidth: i.item.width * i.item.progress,
          surplusWidth: i.item.width - i.item.width * i.item.progress,
          overflowWidth: i.item.overtimeWidth
        }))) : (K(), j(Ge, { key: 1 }, [
          i.item.schedule >= 100 ? (K(), ke(D, {
            key: 0,
            status: i.item.status
          }, null, 8, ["status"])) : (K(), j("span", S_, un(i.item.schedule + "%"), 1))
        ], 64))
      ], 2)
    ], 46, w_),
    i.showLine && w.ganttProgressBarId === `gantt-progressBar-Id${i.index}` ? (K(), ke(L, {
      key: 0,
      ganttProgressBarId: w.ganttProgressBarId,
      item: {
        ...i.item,
        ganttProgressBarId: `gantt-progressBar-Id${i.index}`
      }
    }, null, 8, ["ganttProgressBarId", "item"])) : ze("", !0)
  ]);
}
const A_ = /* @__PURE__ */ Jt(m_, [["render", b_]]), C_ = {
  name: "Children",
  components: {
    HelpLine: kf
  },
  props: {
    item: {
      type: Object,
      default: () => ({})
    },
    index: Number,
    showLine: Boolean,
    ganttProgressBarId: String
  },
  data() {
    return {
      // ganttProgressBarId: ''
    };
  },
  methods: {
    handleMouseenter() {
    },
    handleMouseleave() {
    }
  }
}, I_ = { class: "gantt-right-body-cell gantt-right-body-cell-isParent-false" }, D_ = ["id"], L_ = { class: "progressBar-box" }, M_ = { class: "progressBar-render progressBar-render-child" };
function B_(d, y, i, M, w, _) {
  const D = Nt("HelpLine");
  return K(), j("div", I_, [
    Y("div", {
      onMouseenter: y[0] || (y[0] = (...L) => _.handleMouseenter && _.handleMouseenter(...L)),
      onMouseleave: y[1] || (y[1] = (...L) => _.handleMouseleave && _.handleMouseleave(...L)),
      id: "gantt-progressBar-Id" + i.index,
      class: ge(`progressBar progressBar-${i.item.status}`),
      style: st({
        padding: "5px",
        border: "0",
        background: "transparent",
        left: i.item.left + "px"
      })
    }, [
      Y("div", L_, [
        Y("div", M_, [
          ye(d.$slots, "childrenSlot", Cn(Hr({
            ...i.item,
            row: i.item,
            width: i.item.width,
            activeWidth: i.item.width * i.item.progress,
            surplusWidth: i.item.width - i.item.width * i.item.progress,
            overflowWidth: i.item.overtimeWidth
          })))
        ]),
        Y("div", {
          class: "progressBar-default progressBar-default-child",
          style: st({ width: i.item.width + "px" })
        }, [
          Y("div", {
            class: "progressBar-active progressBar-active-child",
            style: st({
              width: i.item.progress * 100 + "%"
            })
          }, null, 4)
        ], 4),
        (i.item.status === "overtime" || i.item.status === "finishOvertime") && i.item.overtimeWidth ? (K(), j("div", {
          key: 0,
          class: "progressBar-overTimeWidth progressBar-overTimeWidth-child",
          style: st({
            width: i.item.overtimeWidth + "px"
          })
        }, y[2] || (y[2] = [
          Y("div", { class: "overtimeRender" }, null, -1)
        ]), 4)) : ze("", !0)
      ])
    ], 46, D_),
    i.showLine && i.ganttProgressBarId === `gantt-progressBar-Id${i.index}` ? (K(), ke(D, {
      key: 0,
      ganttProgressBarId: i.ganttProgressBarId,
      item: {
        ...i.item,
        ganttProgressBarId: `gantt-progressBar-Id${i.index}`
      }
    }, null, 8, ["ganttProgressBarId", "item"])) : ze("", !0)
  ]);
}
const O_ = /* @__PURE__ */ Jt(C_, [["render", B_]]), E_ = {
  name: "HelpLine",
  props: {
    days: {
      type: Object,
      default: () => ({})
    },
    width: Number,
    bodyRect: {
      type: Object,
      default: () => ({})
    }
  }
}, R_ = { class: "gantt-right-body-content-mark" };
function W_(d, y, i, M, w, _) {
  return K(), j("div", R_, [
    (K(!0), j(Ge, null, An(i.days, (D, L) => (K(), j("div", {
      key: L,
      class: "gantt-right-body-content-mark-item",
      style: st({
        width: i.width * D.length + "px",
        minWidth: i.width * D.length + "px",
        height: i.bodyRect.scrollHeight ? i.bodyRect.scrollHeight + "px" : "100%"
      })
    }, null, 4))), 128))
  ]);
}
const P_ = /* @__PURE__ */ Jt(E_, [["render", W_]]), Y_ = {
  name: "TimeData",
  components: {
    Parent: A_,
    Children: O_,
    Mark: P_
  },
  props: {
    list: {
      type: Array,
      default: () => []
    },
    headBodyPaddingY: {
      type: Number,
      default: 0
    },
    showLine: {
      type: Boolean,
      default: !1
    },
    ganttType: {
      type: String,
      default: "day"
    },
    statusList: {
      type: Array,
      default: () => K0
    }
  },
  data() {
    return {
      yaerList: [],
      days: [],
      data: [],
      width: 0,
      headWidth: 0,
      ganttProgressBarId: "",
      bodyRect: {
        height: 0,
        scrollWidth: 0,
        scrollHeight: 0
      }
    };
  },
  mounted() {
    this.initList(), window.addEventListener("resize", Q0(this.initList, 200));
  },
  unmounted() {
    window.removeEventListener("resize", this.initList);
  },
  methods: {
    handleScroll(d) {
      d && d.target && (document.getElementsByClassName("gantt-right-body-head")[0].scrollLeft = d.target.scrollLeft, document.getElementsByClassName("ganttOverview-body-height")[0].scrollTop = d.target.scrollTop);
    },
    handleClickText(d) {
      this.$emit("onClickText", d);
    },
    onClickNode(d) {
      this.$emit("onClickNode", d);
    },
    // 计算显示位置
    resetPosition(d, y, i) {
      const M = d / 24, w = i.map((_) => {
        const L = it(_.startTime).diff(y.startDate, "day"), W = new Date(_.startTime).getHours();
        let B = Tn("", _.startTime);
        const U = Tn(_.endTime, _.startTime);
        let G = 0;
        _.status === "finishOvertime" ? (B = U, G = _.finishTime ? Tn(_.finishTime, _.endTime) : 0) : _.status === "overtime" ? (B = U, G = Tn("", _.endTime)) : _.status === "finish" ? B = _.finishTime ? Tn(_.finishTime, _.startTime) : 0 : _.status === "wait" ? B = U : new Date(_.startTime).getTime() > (/* @__PURE__ */ new Date()).getTime() ? B = 0 : B = Tn("", _.startTime);
        const Lt = B / U;
        return {
          ..._,
          schedule: _.schedule || 0,
          // 进度百分比
          startTime: _.startTime,
          endTime: _.endTime,
          finishTime: _.finishTime,
          overtimeWidth: G * M,
          progress: Lt,
          status: _.status,
          width: U * M,
          // left: numDays * chunkWidth + startHours * itemWidthEqually - 5,
          left: L * d + W * M
        };
      });
      this.data = w, this.$nextTick(() => {
        let _ = this.$refs.bodyContentRef;
        const D = _.offsetHeight - _.clientHeight;
        this.bodyRect.scrollHeight = _.scrollHeight > _.clientHeight ? _.scrollHeight : 0, this.bodyRect.height = _.offsetHeight, this.bodyRect.scrollWidth = _.offsetWidth - _.clientWidth, this.$emit("onChangeScrollBarHeight", D);
      });
    },
    // 使用函数
    // 计算顶部最多显示多少个
    resetSize(d, y) {
      var w;
      const i = (w = document.getElementById("gantt-right")) == null ? void 0 : w.offsetWidth;
      let M = this.headBodyPaddingY * 2;
      if (y.forEach((_) => {
        M += _.height;
      }), i) {
        const _ = this.$refs.bodyContentRef.offsetHeight, D = j0(), L = M > _ ? i - D : i, W = X0(
          d.startDate,
          d.endDate,
          this.ganttType
        );
        let B = 0;
        if (this.yaerList = W, this.ganttType === "day") {
          const U = J0(d.startDate, d.endDate), G = L / U.length;
          B = G > 40 ? G : 40;
          const Lt = U.map((_t) => ({
            year: _t,
            length: 1
          }));
          this.days = Lt;
        } else if (this.ganttType === "month") {
          let U = 0;
          W.forEach((ct) => U += ct.length);
          const G = L / U;
          B = G > 3 ? G : 3;
          const Lt = {}, _t = [];
          W.forEach((ct) => {
            const $t = Number(ct.year.split("-")[0]), At = Number(ct.year.split("-")[1]);
            Lt[$t] ? Lt[$t].length += new Date($t, At, 0).getDate() : Lt[$t] = {
              length: new Date($t, At, 0).getDate(),
              year: ct.year.slice(0, 4)
            };
          });
          for (const ct in Lt)
            _t.push(Lt[ct]);
          this.days = W, this.yaerList = _t;
        }
        this.headWidth = i, this.resetPosition(B, d, y), this.width = B;
      }
    },
    // 初始数组的处理
    initList() {
      this.data = [];
      const d = V0(this.list);
      let y = !1;
      d.forEach((_) => {
        if (_.start) {
          const D = new Date(_.startTime).getTime(), L = new Date(_.endTime).getTime(), W = _.finishTime ? new Date(_.finishTime).getTime() : null;
          W ? D < W && W <= L ? _.status = "finish" : D < W && W > L && (_.status = "finishOvertime") : (/* @__PURE__ */ new Date()).getTime() > L ? (_.status = "overtime", y = !0) : _.status = "progress";
        } else
          _.status = "wait";
      });
      const i = d.map((_) => new Date(_.startTime).getTime()).sort((_, D) => _ - D), M = d.map((_) => new Date(_.endTime).getTime()).sort((_, D) => D - _), w = { startDate: "", endDate: "" };
      if (this.ganttType === "day")
        if (it(i[0]).format("YYYY-MM") === it(M[0]).format("YYYY-MM")) {
          const _ = it(M[0] + 1728e5).format(
            "YYYY-MM"
          ), D = it(M[0]).format("YYYY-MM"), L = it(M[0] + 864e5 * 2).endOf("month").format("YYYY-MM-DD");
          w.startDate = it(i[0]).format("YYYY-MM") + "-01", w.endDate = _ === D ? L : it(M[0] + 864e5 * 2).format("YYYY-MM-DD");
        } else
          w.startDate = it(i[0] - 864e5).format(
            "YYYY-MM-DD"
          ), w.endDate = it(M[0] + 864e5 * 2).format(
            "YYYY-MM-DD"
          );
      else if (this.ganttType === "month") {
        const D = it(i[0]).subtract(1, "month");
        if (it(i[0]).format("YYYY") === it(M[0]).format("YYYY")) {
          const L = it(M[0] + 432e6).format(
            "YYYY-MM-DD"
          ), W = it(M[0]).format("YYYY-MM-DD"), B = it(M[0] + 864e5 * 5).endOf("month").format("YYYY-MM-DD");
          w.startDate = it(i[0]).format("YYYY") + "-" + D.format("MM") + "-01", w.endDate = L === W ? B : it(M[0]).format("YYYY-MM-DD");
        } else
          w.startDate = it(i[0]).format("YYYY") + "-" + D.format("MM") + "-01", w.endDate = it(M[0] + 864e5 * 5).format(
            "YYYY-MM-DD"
          );
      }
      y && new Date(w.endDate).getTime() < (/* @__PURE__ */ new Date()).getTime() && (w.endDate = it((/* @__PURE__ */ new Date()).getTime() + 864e5 * 3).format(
        "YYYY-MM-DD"
      )), this.resetSize(w, d);
    }
  }
}, N_ = {
  class: "gantt-right",
  id: "gantt-right"
}, $_ = { class: "gantt-right-body-head-box" }, H_ = { class: "gantt-right-body-head" }, F_ = { class: "gantt-right-body-head-list gantt-right-body-head-year" }, U_ = { class: "gantt-right-body-head-list" }, G_ = { class: "gantt-right-body-body" }, k_ = { style: { flex: "1", overflow: "hidden" } }, z_ = {
  key: 0,
  class: "gantt-right-body-cell gantt-right-body-cell-isEmpty"
}, q_ = {
  key: 1,
  class: "gantt-right-body-cell gantt-right-body-cell-parentIsEmpty"
};
function K_(d, y, i, M, w, _) {
  const D = Nt("Mark"), L = Nt("Children"), W = Nt("Parent");
  return K(), j("div", N_, [
    Y("div", {
      class: "gantt-right-body",
      id: "gantt-right-body",
      style: st({ width: w.headWidth + "px" })
    }, [
      Y("div", $_, [
        Y("div", H_, [
          y[1] || (y[1] = Y("div", { id: "top-time-width" }, null, -1)),
          Y("div", F_, [
            (K(!0), j(Ge, null, An(w.yaerList, (B, U) => (K(), j("div", {
              key: U,
              style: st({
                width: w.width * B.length + "px",
                minWidth: w.width * B.length + "px"
              }),
              class: "gantt-right-body-head-year-item"
            }, un(B.year), 5))), 128))
          ]),
          Y("div", U_, [
            (K(!0), j(Ge, null, An(w.days, (B, U) => (K(), j("div", {
              key: U,
              style: st({
                width: w.width * B.length + "px",
                minWidth: w.width * B.length + "px"
              }),
              class: "gantt-right-head-item-day"
            }, un(i.ganttType === "day" ? B.year.split("-")[2] : B.year.split("-")[1]), 5))), 128))
          ])
        ]),
        Y("div", {
          class: "gantt-right-head-scrollBarWidth",
          style: st({ width: w.bodyRect.scrollWidth + "px" })
        }, null, 4)
      ]),
      Y("div", G_, [
        Y("div", k_, [
          Y("div", {
            class: "gantt-right-body-content",
            ref: "bodyContentRef",
            onScroll: y[0] || (y[0] = (...B) => _.handleScroll && _.handleScroll(...B)),
            id: "gantt-right-body-content"
          }, [
            w.data.length ? (K(), ke(D, {
              key: 0,
              days: w.days,
              width: w.width,
              bodyRect: w.bodyRect
            }, null, 8, ["days", "width", "bodyRect"])) : ze("", !0),
            Y("div", {
              class: "gantt-right-body-cell",
              style: st({
                height: i.headBodyPaddingY + "px"
              })
            }, null, 4),
            (K(!0), j(Ge, null, An(w.data, (B, U) => (K(), j("div", {
              key: B.ganttId
            }, [
              B.isEmpty ? (K(), j("div", z_)) : B.parentIsEmpty ? (K(), j("div", q_)) : B.isParent ? B.isParent ? (K(), ke(W, {
                key: 3,
                item: B,
                index: U,
                showLine: i.showLine,
                ganttProgressBarId: w.ganttProgressBarId,
                statusList: i.statusList,
                onOnClickText: _.handleClickText,
                onOnClickNode: _.onClickNode
              }, Ff({ _: 2 }, [
                d.$slots.schedule ? {
                  name: "schedule",
                  fn: rn((G) => [
                    ye(d.$slots, "schedule", Kn({ ref_for: !0 }, G))
                  ]),
                  key: "0"
                } : void 0,
                d.$slots.name ? {
                  name: "name",
                  fn: rn((G) => [
                    ye(d.$slots, "name", Kn({ ref_for: !0 }, G))
                  ]),
                  key: "1"
                } : void 0
              ]), 1032, ["item", "index", "showLine", "ganttProgressBarId", "statusList", "onOnClickText", "onOnClickNode"])) : ze("", !0) : (K(), ke(L, {
                key: 2,
                item: B,
                index: U,
                showLine: i.showLine,
                ganttProgressBarId: w.ganttProgressBarId
              }, {
                childrenSlot: rn((G) => [
                  ye(d.$slots, "childrenSlot", Kn({ ref_for: !0 }, G))
                ]),
                _: 2
              }, 1032, ["item", "index", "showLine", "ganttProgressBarId"]))
            ]))), 128)),
            Y("div", {
              class: "gantt-right-body-cell",
              style: st({
                height: i.headBodyPaddingY + "px"
              })
            }, null, 4)
          ], 544)
        ])
      ])
    ], 4)
  ]);
}
const Z_ = /* @__PURE__ */ Jt(Y_, [["render", K_]]), X_ = {
  name: "TableTree",
  props: {
    lists: {
      type: Array,
      default: () => []
    },
    height: {
      type: Number,
      default: 40
    },
    level: {
      type: Number,
      default: 0
    },
    itemWidth: {
      type: Number,
      default: 100
    },
    zIndex: {
      type: Number,
      default: 1e3
    },
    last: {
      type: Boolean,
      default: !1
    }
  },
  methods: {
    // 获取叶子节点数量
    getLeafNodeCount(d) {
      return !d.children || d.children.length === 0 ? 1 : d.children.reduce((y, i) => y + this.getLeafNodeCount(i), 0);
    },
    tableWarpStyle(d) {
      return {
        height: `${(this.getLeafNodeCount(d) || 1) * this.height}px`
      };
    },
    tableItemStyle(d) {
      return {
        height: `${(this.getLeafNodeCount(d) || 1) * this.height}px`,
        "padding-left": `${100 * this.level}px`,
        "--item-zindex": this.zIndex - this.level
      };
    },
    itemNameStyle(d) {
      var i;
      return {
        height: `${(this.getLeafNodeCount(d) || 1) * this.height}px`,
        width: (i = d == null ? void 0 : d.children) != null && i.length ? `${this.itemWidth}px` : "100%"
      };
    }
  }
}, J_ = { class: "table-item-warp" };
function Q_(d, y, i, M, w, _) {
  const D = Nt("TableTree");
  return K(!0), j(Ge, null, An(i.lists, (L, W) => (K(), j("div", {
    class: "table-warp",
    key: W,
    style: st(_.tableWarpStyle(L))
  }, [
    Y("div", J_, [
      Y("div", {
        class: "table-item",
        style: st(_.tableItemStyle(L))
      }, [
        Y("div", {
          class: ge([
            "table-item-name",
            `table-item-name-level--${i.level}`
          ]),
          style: st(_.itemNameStyle(L))
        }, un(L.name), 7)
      ], 4),
      Y("div", {
        class: ge(["table-level", [`table-level-${i.level}`]])
      }, [
        bn(D, {
          lists: L.children,
          level: i.level + 1
        }, null, 8, ["lists", "level"])
      ], 2)
    ])
  ], 4))), 128);
}
const V_ = /* @__PURE__ */ Jt(X_, [["render", Q_], ["__scopeId", "data-v-8356b59f"]]), j_ = {
  components: {
    Types: O0,
    Table: G0,
    TimeData: Z_,
    TableTree: V_
  },
  props: {
    data: {
      type: Array,
      default: () => []
    },
    head: {
      type: Array,
      default: () => []
    },
    headData: {
      type: Array,
      default: () => []
    },
    headWidth: {
      type: String,
      default: "400px"
    },
    height: {
      type: String,
      default: "auto"
    },
    ganttType: {
      type: String,
      default: "day"
    },
    headBodyPaddingY: {
      type: Number,
      default: 0
    },
    headBodyPaddingX: {
      type: Number,
      default: 0
    },
    showLine: {
      type: Boolean,
      default: !0
    },
    open: {
      type: Boolean,
      default: !0
    }
  },
  data() {
    return {
      scrollBarHeight: 0,
      openStatus: !0,
      myGanttType: this.ganttType
    };
  },
  watch: {
    data() {
      this.initGantt(10);
    }
  },
  methods: {
    initGantt(d) {
      setTimeout(() => {
        var y;
        (y = this.$refs.timeDataRef) == null || y.initList();
      }, d);
    },
    // 展开收起
    onChange() {
      this.openStatus = !this.openStatus, setTimeout(() => {
        var d;
        (d = this.$refs.timeDataRef) == null || d.initList();
      }, 300);
    },
    onClickText(d) {
      this.$emit("onClickText", d);
    },
    onClickNode(d) {
      this.$emit("onClickNode", d);
    },
    onChangeScrollBarHeight(d) {
      this.scrollBarHeight = d;
    },
    // 切换类型
    setGanttType(d) {
      this.myGanttType = d, setTimeout(() => {
        var y;
        (y = this.$refs.timeDataRef) == null || y.initList();
      });
    }
  }
};
function t1(d, y, i, M, w, _) {
  const D = Nt("TableTree"), L = Nt("Table"), W = Nt("TimeData"), B = Nt("Types");
  return K(), j("div", {
    class: "gantt",
    style: st({
      height: i.height
    })
  }, [
    bn(L, {
      head: i.head,
      list: i.data,
      openStatus: w.openStatus,
      open: i.open,
      headBodyPaddingY: i.headBodyPaddingY,
      headBodyPaddingX: i.headBodyPaddingX,
      headWidth: i.headWidth,
      scrollBarHeight: w.scrollBarHeight,
      onOnChange: _.onChange
    }, {
      overview: rn(() => [
        bn(D, { lists: i.headData }, null, 8, ["lists"])
      ]),
      _: 1
    }, 8, ["head", "list", "openStatus", "open", "headBodyPaddingY", "headBodyPaddingX", "headWidth", "scrollBarHeight", "onOnChange"]),
    bn(W, {
      ref: "timeDataRef",
      showLine: i.showLine,
      ganttType: w.myGanttType,
      list: i.data,
      headBodyPaddingY: i.headBodyPaddingY,
      onOnChangeScrollBarHeight: _.onChangeScrollBarHeight,
      onOnClickText: _.onClickText,
      onOnClickNode: _.onClickNode
    }, Ff({
      childrenSlot: rn((U) => [
        ye(d.$slots, "childrenSlot", Cn(Hr(U)), void 0, !0)
      ]),
      _: 2
    }, [
      d.$slots.name ? {
        name: "name",
        fn: rn((U) => [
          ye(d.$slots, "name", Cn(Hr(U)), void 0, !0)
        ]),
        key: "0"
      } : void 0,
      d.$slots.schedule ? {
        name: "schedule",
        fn: rn((U) => [
          ye(d.$slots, "schedule", Cn(Hr(U)), void 0, !0)
        ]),
        key: "1"
      } : void 0
    ]), 1032, ["showLine", "ganttType", "list", "headBodyPaddingY", "onOnChangeScrollBarHeight", "onOnClickText", "onOnClickNode"]),
    bn(B)
  ], 4);
}
const Hf = /* @__PURE__ */ Jt(j_, [["render", t1], ["__scopeId", "data-v-e34b93b7"]]);
Hf.install = (d) => {
  d.component("Gantt", Hf);
};
export {
  Hf as default
};
